首页 文章

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

提问于
浏览
1

我试图计算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 回答

  • 1

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

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

    这将使用 corrcoef 修复您的错误 .

    Edit 另外,正如评论中注意到的那样,您必须在 scatter 中使用向量:

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

    最好,

相关问题