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

news/2024/7/4 8:52:11

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>
执行结果如下:







http://www.niftyadmin.cn/n/4464359.html

相关文章

platform_device与驱动的联系

首先你需要为SOC的各个功能部分定义他的一些资源.例如可用于访问的寄存器地址.中断号,DMA什么的。然后将这些资源(resource) 作为 platform 的dev .通过platform_add_devices函数将你定义的paltform_device变量注册到系统的dev里面.。或者你可以象我这样将你需要的驱动添加:sta…

find查找文件的时候排除某个或几个文件或目录 find . * -path src -o -prune -print | xargs -i mv {} desc

比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件 find /usr/sam -path "/usr/sam/dir1" -prune -o -printfind [-path ..] [expression] 在路径列表的后面的是表达式-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune …

matlab学习笔记(四)--- 图像的几何操作

1、改变图像的大小imresize imresize的调用方法&#xff1a; Yimresize(X,M,Method); 其中X表示原图像&#xff0c;M表示方法倍数&#xff0c;Method表示使用何种差值方法&#xff0c;默认最近邻插值法。 Iimread(circuit.tif);Jimresize(I,1.25);imshow(I);figure,imshow(J…

mini2440开发之完全摆脱windows环境(未验证)

我们进行mini2440的linux开发&#xff0c;如果能只在linux下工作&#xff0c;工作效率会提高不少&#xff0c;也少了很多麻烦&#xff0c;省得来回切换&#xff0c;另外&#xff0c;linux下的工具可能比windows下还好用些。 我们为什么离不开windows呢&#xff1f;因为我们要用…

matlab学习笔记(五)---空域变换增强-直接灰度调整

1、像素选择 &#xff08;1&#xff09;函数pixval(matlab7.8中此函数已过时)&#xff0c;改用impixelinfo&#xff0c;用来测试像素的值。 imshow canoe.tif;impixelinfo效果图如下&#xff1a;&#xff08;2&#xff09;函数impixel&#xff0c;用来得到像素的值。 语法格式…

带USB下载功能的uboot,支持mini2440(未验证)

带USB下载功能的uboot&#xff0c;支持mini2440(百问网原创) 文章发表于&#xff1a;2008-11-17 15:34 能做出这个uboot的人也就是论坛的坛主 thisway.diy&#xff0c;《嵌入式linux应用开发板完全手册》的作者韦东山&#xff0c;人称南山大哥。感谢他的开源代码&#xff0c;我…

matlab学习笔记(六)---空域变换增强-直方图处理

1、直方图均衡化 函数histeq&#xff0c;实现对输入图像的直方图均衡化 语法格式&#xff1a;略 I imread(tire.tif);J histeq(I);subplot(221),imshow(I),title(原始图像);subplot(222),imshow(J),title(直方图均衡图像);subplot(223),imhist(I),title(原始图像直方图);su…

kthread_create与kernel_thread的区别

kernel thread可以用kernel_thread创建&#xff0c;但是在执行函数里面必须用daemonize释放资源并挂到init下&#xff0c;还需要用completion等待这一过程的完成。 kthread_create是比较正牌的创建函数&#xff0c;这个不必要调用daemonize&#xff0c;用这个创建的kernel thre…