如何计算MATLAB中原始明文图像的相邻像素相关性

时间:2015-04-22 08:58:32

标签: matlab

我试图计算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);

相同的代码适用于加密图像。不知道什么是错的。

1 个答案:

答案 0 :(得分:1)

您应该将imread的结果转换为double:

P = double(imread(...));

这将使用corrcoef修正您的错误。

修改此外,正如评论中注意到的那样,您必须使用scatter中的向量:

scatter(x1(:), y1(:));

最佳,