主题:[讨论]对数增强的图象处理程序?
大家好,我用对数变化方法进行图象增强的程序:公式s=c*log(1+r)(r为原来的灰度值)
c = str2double((inputdlg('please input c ', 'INPUT scale factor', 1, {'0.5'})));
I=imread('f:\labimages\Fig3.08(a).jpg');
[M,N]=size(I);
s= zeros(M,N);
subplot(2,1,1);
imshow(I);
title('原始图像')
for a=0:1:M-1
for b=0:1:N-1
s(a,b)=unit8(c*log(1+I(a,b)));
end
end
imwrite(s, 'pic0301.jpg', 'jpg');
subplot(2,1,2);
imshow(s);
title('对数增强图像')
运行出现错误:
??? Attempted to access I2(0,0); index must be a positive integer or logical.
Error in ==> Proj0301 at 11
s(a,b)=unit8(c*log(1+I2(a,b)));
我对于MATLAB中数据的类型及转化 这些概念很模糊,请教高手哦!
c = str2double((inputdlg('please input c ', 'INPUT scale factor', 1, {'0.5'})));
I=imread('f:\labimages\Fig3.08(a).jpg');
[M,N]=size(I);
s= zeros(M,N);
subplot(2,1,1);
imshow(I);
title('原始图像')
for a=0:1:M-1
for b=0:1:N-1
s(a,b)=unit8(c*log(1+I(a,b)));
end
end
imwrite(s, 'pic0301.jpg', 'jpg');
subplot(2,1,2);
imshow(s);
title('对数增强图像')
运行出现错误:
??? Attempted to access I2(0,0); index must be a positive integer or logical.
Error in ==> Proj0301 at 11
s(a,b)=unit8(c*log(1+I2(a,b)));
我对于MATLAB中数据的类型及转化 这些概念很模糊,请教高手哦!