作业帮 > 数学 > 作业

MATLAB图像处理的一个简单问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/01 11:58:50
MATLAB图像处理的一个简单问题
wie_img=wiener2(noi_img,[5 5]); %noi_img是加了高斯噪声的图像,进行wiener处理后的图像作为样本图
[counts,x]=imhist(wie_img(:)); %统计样本图的直方图每个灰度上的像素数
[counts',x']=imhist(output(:)); %统计有噪声的图像的每个灰度上的像素数
k=(counts(wie_img(i,j))-counts'(wie_img(i,j)));
我想问下第4句单从语法上说有什么错吗?他给的报错信息是这个Unbalanced or misused parentheses or brackets.
'是转置符号,不能当标记.换成数字标记或者其他的标记.
c=imread('D:\matlab7.1\toolbox\images\imdemos\cameraman.tif');
wie_img=wiener2(c,[5 5]);
[counts,x]=imhist(wie_img);
[counts1,x1]=imhist(c);
counts =
0
0
0
0
0
0
0
0
82
587
731
875%%counts总共256行,1列,counts(1)对应的是灰度值为0的个数,counts(2)对应的是灰度值为1的个数,后面的依次类推.
根据楼主的意思,是对应灰度值的个数相减,那只要k=counts-counts1即可.
对于k=(counts(wie_img(i,j))-counts1(wie_img(i,j))); 根据上面的分析,灰度值+1才是counts的行号,另外必须加上循环语句.
for i=1:m
for j=1:n
k=(counts(wie_img(i,j)+1)-counts1(wie_img(i,j)+1));
end
end