我有一张250 x 250的图像,我希望得到每个像素及其最近邻域强度的散点图。这是我的代码:
I = imread(image);
i = [1,249];
j = [1,250];
X = I(i,j);
Y = I(i+1,j);
scatter(X,Y);
为什么我得到“X和Y向量必须长度相同”的错误?它们的长度相同!
答案 0 :(得分:1)
因为scatter(X, Y)
仅用于向量,而不是矩阵。在您的示例中,X和Y都是2x2矩阵,而不是向量。
散射(X,Y)在矢量X和Y指定的位置显示圆形。这种类型的图形也称为气泡图。
修改:如果您想绘制矩阵,请改用plotmatrix()
:
plotmatrix(X,Y)
答案 1 :(得分:0)
Scatter(X,Y)仅用于正确提到的herohuyongtao的向量。您可以尝试执行以下操作:
m = 250;
X = I(m+1:end);
Y = I(1:end-m);
scatter(X,Y);
将图像矩阵I转换为向量X,同时忽略第一列,并在向量Y中忽略最后一列。因此,X(n)是右侧Y(n)的邻居。
我希望这有帮助!