Arrays 替代多个padarray调用以获取图像的周界掩码 我有一个双打代码 IMG,我用它来掩码多个掩码掩码.*img < /代码>,其中掩码在中间有1个值,但是在边界上线性地变成0个,例如对于5x5的掩码,它将有点像 0.1 0.1 0.1 0.1 0.1 0 0.5 0.5 0.5 0.1 0.1 0.5 1 0.5 0.1 0.1 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1
我目前的想法是使用Arrays 替代多个padarray调用以获取图像的周界掩码 我有一个双打代码 IMG,我用它来掩码多个掩码掩码.*img < /代码>,其中掩码在中间有1个值,但是在边界上线性地变成0个,例如对于5x5的掩码,它将有点像 0.1 0.1 0.1 0.1 0.1 0 0.5 0.5 0.5 0.1 0.1 0.5 1 0.5 0.1 0.1 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1,arrays,image,matlab,Arrays,Image,Matlab,我目前的想法是使用x=one(M) 然后创建一系列递减值y=[0.9 0.5 0.3 0.1] 然后呢 for k = 1: size(y) x = padarray(x,[1 1], y(k)) 它会将y的值作为围绕x的周长添加多次,每次一个。有没有更聪明的方法来制作这种周边逐渐变细的面具?一个有趣的方法来做类似的事情。其中,向量锥度与5乘5矩阵的中心行相同。行是通过将转置中的对应元素与向量Taper进行比较生成的,该向量是Taper. 分为几个步骤: 第1行:min([0.1 0.5
x=one(M)
然后创建一系列递减值y=[0.9 0.5 0.3 0.1]
然后呢
for k = 1: size(y)
x = padarray(x,[1 1], y(k))
它会将y的值作为围绕x的周长添加多次,每次一个。有没有更聪明的方法来制作这种周边逐渐变细的面具?一个有趣的方法来做类似的事情。其中,向量
锥度与5乘5矩阵的中心行相同。行是通过将转置中的对应元素与向量Taper
进行比较生成的,该向量是Taper.
分为几个步骤:
第1行:min([0.1 0.5 1 0.5 0.1],[0.1])代码>→ <代码>[0.10.1 0.1 0.1 0.1 0.1]
第2行:min([0.1 0.5 1 0.5 0.1],[0.5])代码>→ <代码>[0.1 0.5 0.5 0.5 0.1]
第3行:min([0.1 0.5 1 0.5 0.1],[1])代码>→ <代码>[0.10.5 1 0.5 0.1]
第4行:min([0.1 0.5 1 0.5 0.1],[0.5])代码>→ <代码>[0.1 0.5 0.5 0.5 0.1]
第5行:min([0.1 0.5 1 0.5 0.1],[0.1])代码>→ <代码>[0.1 0.1 0.1 0.1 0.1 0.1]
Taper = [0.1 0.5 1 0.5 0.1];
Result = min(Taper, Taper.');
Result
有趣的想法。如何将其扩展到行数多于列数的非对称情况,或者列数多于行数的非对称情况?没有线索,这将取决于您希望如何配置锥度。理想情况下,我希望使用环形图案,其中最外层的行和列填充一个值,然后是一个较大值的环,等等。当尺寸不相等时,环的两侧必须有较大的厚度。