有人可以解释这个MatLab表达式的最后一行吗?我需要将其转换为C ++,并且我对matlab语法没有任何经验。
LUT = zeros(fix(Max - Min),1);
Bin= 1+LUT(round(Image));
图像是输入图像,最小和最大是图像的最小和最大灰度。Bin会成为数组吗?它应包含什么?与LUT或图片相同的尺寸是多少?“ 1”代表什么(将1添加到数组的每个成员或数组位置的移位?我找不到任何这样的示例。
提前致谢。
LUT
是具有多个条目的列向量,这些条目等于图像中最大和最小强度的差。LUT(round(Image))
检索向量LUT
中由命令给定的条目round(Image)
。的维度Bin
将等于矩阵的大小Image
,并且条目将等于LUT向量中的相应索引。因此,假设您有一个3x3矩阵Image
,其四舍五入值如下:
1 2 3
2 2 4
1 5 1
然后LUT(round(Image))
将返回:
LUT(1) LUT(2) LUT(3)
LUT(2) LUT(2) LUT(4)
LUT(1) LUT(5) LUT(1)
而1+LUT(round(Image))
将返回:
1+LUT(1) 1+LUT(2) 1+LUT(3)
1+LUT(2) 1+LUT(2) 1+LUT(4)
1+LUT(1) 1+LUT(5) 1+LUT(1)
请注意,这仅在输入的所有条目round(Image)
均为正数时才有效,因为您不能在LUT
向量(或任何MATLAB矩阵/向量)中使用零/负索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句