【问题标题】:How to remove a region of an image to leave the surrounding space in matlab如何在matlab中删除图像的区域以离开周围的空间
【发布时间】:2014-12-11 23:34:27
【问题描述】:

因此,如果我有一个灰度图像_I,我需要从中删除一个 region_R 以离开周围的空间。

到现在为止

region_R = image_I(regionStartPoint(1):regionStartPoint(1)+size_W(1)-1,...
                   regionStartPoint(2):regionStartPoint(2)+size_W(2)-1);

surroundingSpace = image_I - region_R

感谢您的帮助!

【问题讨论】:

    标签: matlab image-processing watermark


    【解决方案1】:

    如果通过删除,您的意思是使其变为 0 或 1,那么您可以简单地执行以下操作:

    image_I(regionStartPoint(1):regionStartPoint(1)+size_W(1)-1,...
                       regionStartPoint(2):regionStartPoint(2)+size_W(2)-1) = 0
    

    或者您可以将 NaN 分配给它,

    image_I(regionStartPoint(1):regionStartPoint(1)+size_W(1)-1,...
                       regionStartPoint(2):regionStartPoint(2)+size_W(2)-1) = NaN
    

    【讨论】:

    • 所以我对区域进行了操作,对周围的空间也进行了操作。该区域不需要干扰周围的空间操纵。谢谢
    • @conapart3 我不明白你的说法。 Marcin 的建议应该可行,这就是我对您的问题描述的理解。
    • 该操作会将来自 region_R 中的位平面的位分散到整个图像中。然后图像上的 region_R 区域将被水印像素覆盖。我不希望将此信息保存在 region_R 所在的图像中,因为它将被覆盖。如果我将整个 region_R 设为 0,那么我的理解是它仍然会被覆盖?所以形式上我只需要操纵周围的空间,即 image_I - region_R。我将尝试这些并查看,并进一步了解我需要做什么。谢谢!
    • I = (I - R) ∪ R 和 (I - R) ∩ R = ∅
    • 简单来说,I 是图像中所有像素的集合,R 包含来自所选矩形区域的像素集合,I-R 包含剩余像素的集合。 R 和 I-R 是互斥的,因为将对它们进行不同的操作。他已经用region_R 提取了R。然后他可以将image_I 中的那个区域设置为 NaN,就像你描述的那样,当他处理它时,他可以忽略任何 NaN 元素。 NaN 作为要忽略的值比 0 更可取,因为他正在处理像素值。
    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 2015-12-24
    • 2017-04-03
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2019-09-29
    相关资源
    最近更新 更多