【问题标题】:Find location corresponds to specific range in colorbar in Matlab查找位置对应于 Matlab 中颜色栏中的特定范围
【发布时间】:2014-08-08 09:30:26
【问题描述】:

假设我在 Matlab 中有一个从 0 到 1 的颜色条。我想知道如何找到图像中的哪些位置(像素值)对应于颜色栏中从 0.7 到 0.8 的范围?

【问题讨论】:

    标签: matlab image-processing colorbar


    【解决方案1】:

    如果您的数据从 min(data)max(data) 并且您没有手动设置颜色条限制,则颜色条中的位置由以下公式计算:

    colorbarpos= (p-min(data))/(max(data)-min(data))
    

    因此

    p=colorbarpos*(max(data)-min(data))+min(data)
    

    根据@Divakar 的建议,您可能想要这个:

    [r,c] = ind2sub(size(data),find(data>=0.7 & data<=0.8))
    

    【讨论】:

    • 所以这里的 p 对应 0.7 和 0.8 ?
    • p 对应于值“colorbarpos”。 colorbarpos=0.7 -> p07 ;
    • 我试过这个,但这个给了我分数。我正在寻找图像中对应于颜色条中 0.7-0.8 范围的位置,这意味着 0.7 对应于数据的第 100 个元素。跨度>
    • @user59419 假设data 是二维索引图像数据,也许您正在寻找这个-[r,c] = ind2sub(size(data),find(data&gt;=0.7 &amp; data&lt;=0.8))。在图形窗口中的 X-Y 坐标中,这将对应于 X = c,Y = r
    • @AnderBiguri 由于 cmets 被删除,我想将解决 OP 的东西合并到解决方案中会更好。
    猜你喜欢
    • 1970-01-01
    • 2016-01-21
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多