如何在MATLAB中计算原始明文图像的相邻像素相关性
我曾尝试计算两幅图像的相邻像素相关性。我得到的是加密图像的答案,而不是原始纯文本图像的答案 它显示出一些我无法理解的错误。我已经给出了下面使用的代码以及错误消息 请帮忙如何在MATLAB中计算原始明文图像的相邻像素相关性,matlab,Matlab,我曾尝试计算两幅图像的相邻像素相关性。我得到的是加密图像的答案,而不是原始纯文本图像的答案 它显示出一些我无法理解的错误。我已经给出了下面使用的代码以及错误消息 请帮忙 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=bsxfu
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(@负,x,和(x,1)/m);%去除
卑鄙
corrcoef>correl(第209行)中的错误r=cov(x)
corrcoef(第92行)中的错误r=correl(x)
apc_PT(第4行)中的错误r_xy1=corrcoef(x1,y1)
同样的代码适用于加密图像。不知道出了什么问题。您应该将
imread
的结果加倍:
P = double(imread(...));
这将使用corrcoef
修复您的错误
编辑此外,正如在注释中注意到的,您必须在分散
中使用向量:
scatter(x1(:), y1(:));
最好,scatter调用给出以下错误<代码>使用散点(第44行)时出错X和Y必须是长度相同的向量。请将这一行添加到您的解决方案中:
散点(x1(:),y1(:)
@krisdestruction谢谢你的评论,我已经更新了答案。@AnithaKumar记住,如果答案有用,请接受它。