用直接灰度换改变图像求反增强对比度动态范围压.docx
《用直接灰度换改变图像求反增强对比度动态范围压.docx》由会员分享,可在线阅读,更多相关《用直接灰度换改变图像求反增强对比度动态范围压.docx(10页珍藏版)》请在冰豆网上搜索。
用直接灰度换改变图像求反增强对比度动态范围压
3.用直接灰度变换改变图像(求反,增强对比度,动态范围压缩,灰度切分)
求反
>>I=imread('moon.tif');
>>imshow(I);
>>level=graythresh(I);
>>I1=im2bw(I,level);
>>figure,imshow(I1);
>>x1=128;
>>y1=128;
>>figure,plot([0,x1],[y1,0])
>>axistight,xlabel('x'),ylabel('y')
>>title('变换曲线')
>>k=y1/x1;
>>[m,n]=size(I);
>>J=double(I);
>>fori=1:
m
forj=1:
n
x=J(i,j);
y(i,j)=0;
if(x>=0)&(x<=x1)
y(i,j)=y1-k*x;
else
y(i,j)=0;
end
end
end
>>figure,imshow(mat2gray(y))
原图
二值化后的图像
求反后的图像
增强对比度源代码:
>>I=imread('pout.tif');
>>imhist(I);
>>I1=imadjust(I,[0.30.7],[]);
>>figure,imshow(I1);
>>imhist(I1);
>>figure,imshow(I1);
>>figure,imshow(I);
原图
原图的直方图
原图增加对比度
增加对比度后的直方图
灰度切分:
>>I=imread('pic1.jpg');
>>J=roicolor(I,100,200);
>>figure,imshow(I),figure,imshow(J);
原图
切分后的图
动态范围压缩
>>I=imread('tire.tif');
>>imshow(I);
>>c=64/log(256);
>>x=0:
1:
255;
>>y=c*log(1+x);
>>figure,plot(x,y)
>>axistight,xlabel('f'),ylabel('g')
>>title('变换曲线')
>>[m,n]=size(I);
>>X2=double(I);
>>fori=1:
m
forj=1:
n;
g(i,j)=c*log(X2(i,j)+1);
end
end
>>figure,imshow(mat2gray(g))
原图
动态范围压缩后的图