【发布时间】:2017-01-24 20:55:51
【问题描述】:
我正在使用 Matlab 函数 imtransform 来扭曲具有保形贴图的 RGB 图像(示例 https://www.flickr.com/photos/gbachelier/albums/72157677436918822)。
在这些图像中是填充有“FillValues”的空白区域(在示例图像中,0 = 黑色)可能是未定义地图。我想直接用透明度填充这些区域以进行额外的复合操作,因为如果我将在 imtransform 后将所有黑色像素传输为透明 (Make a pixel transparent in Matlab),这可能会影响其他区域。知道如何在不影响其他区域的情况下使这些区域透明吗?非常感谢你!
【问题讨论】:
-
为什么选择该区域并将其视为透明是一个问题?似乎是一种足够简单的方法
-
@Tasos Papastylianou:如果您的意思是“手动选择”,那是不可能的。我需要算法方法,因为这是进化艺术过程的一部分,人口 >= 10^3 个人。
-
不,不是手动的,该页面上的所有示例都涉及全黑像素的中心连接组件,大概是您想要使其透明。选择那个中心连接的组件(例如,通过
bwconn/bwlabel)并通过算法对这些像素做任何你想做的事情。 -
更不用说,所有这些示例的中心组件似乎都处于完全相同的位置和大小。只需应用预定义的蒙版即可。