matlab学习笔记(三)---图像的代数运算

来源:互联网 发布:mac设置邮箱无法验证 编辑:程序博客网 时间:2024/05/21 19:43

1、绝对值差函数imabstiff

   I=imread('cameraman.tif');   J=uint8(filter2(fspecial('gaussian'),I));   K=imabsdiff(I,J);   imshow(I);   imshow(K,[]);</span>

原图和处理后的图如下:




2、图像的叠加函数imadd

   I=imread('rice.png');   J=imread('cameraman.tif');   K=imadd(I,J,'uint16');   imshow(I);   imshow(J);   imshow(K,[]);</span>
原图和处理后的图像如下:

实际上imadd还可以通过制定常数参数增强一张图像的亮度,如下:

   I=imread('rice.png');   J=imadd(I,50);   subplot(121),imshow(I);   subplot(122),imshow(J);</span>
对比图如下:




3、图像求补函数imcomplement

   bw = imread('text.png');   bw2 = imcomplement(bw);   subplot(121),imshow(bw);   subplot(122),imshow(bw2);</span>
执行结果如下:




4、图像的除法运算imdivide

   I=imread('rice.png');   blocks=blkproc(I,[32 32],'min(x(:))');   background=imresize(blocks,[256 256],'bilinear');   Ip=imdivide(I,background);   subplot(121),imshow(I);   subplot(122),imshow(Ip,[]);</span>
执行结果如下:

如果将参数变成常数:

   I=imread('rice.png');   J=imdivide(I,2);   subplot(121),imshow(I);   subplot(122),imshow(J);</span>

执行结果如下:





5、线性组合函数imlincomb

   I=imread('cameraman.tif');   J=uint8(filter2(fspecial('gaussian'),I));   K=imlincomb(1,I,-1,J,128);   subplot(121),imshow(I);   subplot(122),imshow(K);</span>
执行结果如下:





6、图像的乘法操作immultiply

   I=imread('moon.tif');   J=immultiply(I,0.5);   subplot(121),imshow(I);   subplot(122),imshow(J);</span>
执行结果如下:





7、图像的减法函数imsubtract

   I=imread('rice.png');   blocks=blkproc(I,[32 32],'min(x(:))');   background=imresize(blocks,[256 256],'bilinear');   Ip=imsubtract(I,background);   subplot(121),imshow(I);   subplot(122),imshow(Ip,[]);</span>
执行结果如下:






1 0
原创粉丝点击