我试图计算2张图像的相邻像素相关性。我得到了加密图像的答案,但没有得到原始纯文本图像的答案。
它显示了一些我无法理解的错误。我已经给出了我在下面使用的代码以及错误消息。
请帮忙。
P = imread('cameraman.tif');
x1 = P(:,1:end-1);
y1 = P(:,2:end);
r_xy1 = corrcoef(x1,y1);
scatter(x1,y1);
为此,我收到一条错误消息:
使用bsxfun时出错不支持混合整数类输入。
cov中的错误(第93行)xc = bsxfun(@ minus,x,sum(x,1)/ m); % 去掉 意味着
corrcoef中的错误> correl(第209行)r = cov(x);
corrcoef中的错误(第92行)r = correl(x);
apc_PT中的错误(第4行)r_xy1 = corrcoef(x1,y1);
相同的代码适用于加密图像。不知道什么是错的。
答案 0 :(得分:1)
您应该将imread
的结果转换为double:
P = double(imread(...));
这将使用corrcoef
修正您的错误。
修改此外,正如评论中注意到的那样,您必须使用scatter
中的向量:
scatter(x1(:), y1(:));
最佳,