matlab数字图像处理_算术运算计科_第1页
matlab数字图像处理_算术运算计科_第2页
matlab数字图像处理_算术运算计科_第3页
matlab数字图像处理_算术运算计科_第4页
matlab数字图像处理_算术运算计科_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1会计学matlab数字图像处理数字图像处理_算术运算计科算术运算计科2学习重点数字图像的算术运算数字图像的算术运算3学习内容5.1 图像的点运算5.2 图像的算术运算5.3 图像的位逻辑运算5.4 图像的简单应用例子45.1、图像的点运算、图像的点运算5线性点运算的典型应用是灰度分布标准化。线性点运算的典型应用是灰度分布标准化。6785.2、图像的算术运算9101112饱和处理饱和处理1314一般选一般选8幅取平均幅取平均151617181920生成图象叠加效果:可以得到各种图像合成的效果,也可以用于两张图片的衔接生成图象叠加效果:可以得到各种图像合成的效果,也可以用于两张图片的衔接。21给

2、图像的每个像素加上一个常数,可以使给图像的每个像素加上一个常数,可以使亮度增加亮度增加22),(),(),(yxByxAyxC主要应用举例:主要应用举例:差影法差影法( (检测同一场景两幅图像之间的变化检测同一场景两幅图像之间的变化) )混合图像的分离混合图像的分离 ; ;梯度幅度的应用梯度幅度的应用 将将同一景物在不同时间同一景物在不同时间拍摄的图像或拍摄的图像或同一景物在不同波段同一景物在不同波段的图像相减,这就是的图像相减,这就是图像的减法运算。实际中常称为差影法图像的减法运算。实际中常称为差影法。 差值图像提供了图像间的差值信息,能用于差值图像提供了图像间的差值信息,能用于指导动态监测

3、、运动目标的检测指导动态监测、运动目标的检测和跟踪、图像背景的消除及目标识别等和跟踪、图像背景的消除及目标识别等。5.2.2 减法运算减法运算23241) 检测同一场景两幅图像之间的变化检测同一场景两幅图像之间的变化= =- -2526差影法在自动现场监测中的应用差影法在自动现场监测中的应用 27差影法在自动现场监测中的应用差影法在自动现场监测中的应用 28差影法进行混合图像的分离差影法进行混合图像的分离 (a)混合图像)混合图像 (b)被减图像)被减图像 (c)差影图)差影图像像 29设:背景图像设:背景图像b(x ,y)b(x ,y),前景背景混合图像,前景背景混合图像f(x ,y)f(x

4、 ,y)g(x,y)=f(x,y)g(x,y)=f(x,y)b(x,y)b(x,y)g(x,y) g(x,y) 为去除了背景图像为去除了背景图像背景背景图像图像差值差值图像图像(a a)从病人头顶向)从病人头顶向下拍摄的下拍摄的X X光照片光照片(b)碘元素注入后拍摄的)碘元素注入后拍摄的X光照片与背景图像的差值光照片与背景图像的差值3031yfjxfiyxf),(22)()(| ),(|yfxfyxf32|) 1,(),(| |,), 1(),(max| ),(|yxfyxfyxfyxfyxf33梯度幅度图像 梯度幅度在边缘处很高;梯度幅度在边缘处很高;在均匀的肌肉纤维的内部,梯度幅度很低在

5、均匀的肌肉纤维的内部,梯度幅度很低。 343536373839 I=imread(moon.tif);J=I*1.2;% J=immultiply(I,2);imshow(I);figure,imshow(J)40 (a) 原图原图 (b) 乘以乘以1.2 (c) 乘以乘以241 I=imread(moon.tif);J=imnoise(I,gaussian,0,0.02);k=imsubtract(I,J);k1=255-k;figure(),imshow(I)figure(),imshow(J)figure(),imshow(k1)424344454647I=imread(rice.png

6、);J=imread(cameraman.tif);L=imlincomb(.5,I,.5,J);imshow(L)484950515.3 图像的位逻辑运算图像的位逻辑运算5253获得一个阴图像获得一个阴图像54获得一个子图像的补图像获得一个子图像的补图像55函数函数说明说明bitand位与位与bitcmp位补位补bitor位或位或bitxor位异或位异或bitshift位移位位移位565758596061626364A(原始图像)(原始图像)B B(需要隐(需要隐藏的信息)藏的信息)C C(加入信息的图像)(加入信息的图像)要求:要求:A与与C尽量相近,没有差别尽量相近,没有差别656667

7、xoyz210153620481x1yrgbAyz2048Bo21015361x1y1bx1g1ryz2048Co21015361x1y1bbx1gg1rr叠加算法的具体图形表达叠加算法的具体图形表达68算法可成立的支持理由对于隐写信息B由于将象素点的RGB值减小100倍,再叠加到原始图像A中,这样基本看不出隐写信息;在解码中将处理后带有隐写信息的图像C减去A并将象素点扩大100倍可以得到隐写信息B。69+7071727374rgb2grayim2bw二维余弦变换(二维余弦变换(DCT2)在低频部分加载水印信息在低频部分加载水印信息公开图像公开图像灰度图像灰度图像水印图像水印图像二值图像二值图

8、像含有水印图像含有水印图像利用二维余弦反变换(利用二维余弦反变换(IDCT2IDCT2)得到水印信息图像得到水印信息图像75A=imread(山水照片山水照片.jpg);imshow(A);得到:得到:解决方案:程序中直接采用解决方案:程序中直接采用imwrite写入磁盘,这样大写入磁盘,这样大小就不会改变。一般小就不会改变。一般bmp格格式较不易失真。式较不易失真。保存为JPG等格式,再显示的结果76最常碰到的问题有:最常碰到的问题有: 1 1) 图像读入图像读入 imread imread ,显示图像用,显示图像用imshow (h) imshow (h) 语句,语句,h h 为图像句柄;

9、输出图像若需要为图像句柄;输出图像若需要永久保存,可用永久保存,可用imwrite(h,map, filename.bmp,bmp), imwrite(h,map, filename.bmp,bmp), 写入存储器。注意在该写入存储器。注意在该语句前要设置调色板,即语句前要设置调色板,即map=(gray(256)map=(gray(256)。 2 2) 要注意图像格式的转化。不同的图像格式对应不同的处理方式,如果处理与格式不要注意图像格式的转化。不同的图像格式对应不同的处理方式,如果处理与格式不符,将引起错误。符,将引起错误。3 3) 尽管尽管MATLABMATLAB允许未定义使用数组,但在

10、实际应用中这样经常出错,特别是遇到在允许未定义使用数组,但在实际应用中这样经常出错,特别是遇到在doubledouble和和uint8uint8型之间的转换时。所以最好还是养成用前定义的习惯,避免出现不必要的型之间的转换时。所以最好还是养成用前定义的习惯,避免出现不必要的错误。错误。774 4)在做完一定量的运算后,一般要用)在做完一定量的运算后,一般要用ClearClear清除内存变量,以防影响后面的程序运行。清除内存变量,以防影响后面的程序运行。5 5) 一般默认路径在一般默认路径在matlabmatlab安装文件下的安装文件下的workwork文件夹中,程序和资源都放在此,如果需文件夹中

11、,程序和资源都放在此,如果需要引用新的文件,应事先指明路径。要引用新的文件,应事先指明路径。6 6) 应注意语句结尾应注意语句结尾“;” ;” 的使用,特别是图像处理中。的使用,特别是图像处理中。7 7) 应做好程序的注释工作。应做好程序的注释工作。787980A题题 血管的三维重建血管的三维重建根据拍照得到的平行切片数字图象,运用计算机重建三维形态。根据拍照得到的平行切片数字图象,运用计算机重建三维形态。血管可视为一类特殊的管道,该管道的表面是由球心沿着某一曲线(称血管可视为一类特殊的管道,该管道的表面是由球心沿着某一曲线(称为中轴线)的球滚动包络而成。例如圆柱就是这样一种管道,其中轴线为为

12、中轴线)的球滚动包络而成。例如圆柱就是这样一种管道,其中轴线为直线,由半径固定的球滚动包络形成。直线,由半径固定的球滚动包络形成。81 现有某管道现有某管道100100张平行切片图象,格式均为张平行切片图象,格式均为BMPBMP,512512* *512512像素。假设:管道中像素。假设:管道中轴线与每张切片有且只有一个交点;球半径固定;切片间距以及图象像素的尺寸均轴线与每张切片有且只有一个交点;球半径固定;切片间距以及图象像素的尺寸均为为1 1。计算管道的中轴线与半径,给出具体的算法,并绘制中轴线在计算管道的中轴线与半径,给出具体的算法,并绘制中轴线在XYXY、YZYZ、ZXZX平面的平面的

13、投影图。投影图。82多幅图像的批量读入解决方案一幅图片的读取使用一幅图片的读取使用matlab,在本题中有,在本题中有100幅图,如何将这幅图,如何将这100幅图自动读入各幅图自动读入各对应的矩阵中,以便进一步处理,方案如下:对应的矩阵中,以便进一步处理,方案如下:(1)将)将100幅图放入幅图放入work文件夹等相应的操作文件夹中。文件夹等相应的操作文件夹中。(2)使用)使用for循环结合字符串和数值之间的转换函数,循环各图片文件名。代码如下循环结合字符串和数值之间的转换函数,循环各图片文件名。代码如下: for b=0:99 m(:,:,b+1)=imread(int2str(b),.bm

14、p); end 83由于图片文件是一个二值图像,每一幅图片文件读入到由于图片文件是一个二值图像,每一幅图片文件读入到matlab中是一个二维矩阵,且中是一个二维矩阵,且数值为数值为0或者或者1,代表黑和白。所以上面的代码,最终把每一张图片的数据都记录到一,代表黑和白。所以上面的代码,最终把每一张图片的数据都记录到一个三维矩阵个三维矩阵m中,其中中,其中m每一层记录一张图片的数据,一共每一层记录一张图片的数据,一共100层。层。512512矩阵m第100层m(:,:,100)矩阵m第50层m(:,:,50)矩阵m第1层m(:,:,1)矩阵m512512第1幅图(0.bmp)第50幅图(49.bm

15、p)第100幅图(99.bmp)注意:文件读入时间较长,为了以后操作方便,可以将生成的矩阵注意:文件读入时间较长,为了以后操作方便,可以将生成的矩阵m保存为保存为.mat文文件,以便以后再次调用。件,以便以后再次调用。848586得到三维血管立体效果图得到三维血管立体效果图注意:注意:三维扫描速度较慢,可以采用采样三维扫描速度较慢,可以采用采样描点的方法,例如将步长增为描点的方法,例如将步长增为5来进行描点来进行描点。for i=1:5:512,for j=1:5:512 在程序中可以使用在程序中可以使用rotate3d,或者按,或者按figure上的按钮来手工旋转三维图像,得到上的按钮来手工

16、旋转三维图像,得到xoy,xoz和和yoz上的投影图。上的投影图。8788n=100;m1=size(m,1);m2=size(m,2);z=ones(m1,1);for i=1:n for j=1:m2 if isequal(m(:,j,i),z) plot(j-257,i,b.),hold on;end, end, endtitle(xoz平面投影图平面投影图);hold off89n=100;m1=size(m,1);m2=size(m,2);z=ones(1,m2);for i=1:n for j=1:m1 if isequal(m(j,:,i),z) plot(j-257,i,b.)

17、,hold on;end, end, endtitle(yoz平面投影图平面投影图);hold off90关于程序的简单说明关于程序的简单说明 1)为了提高程序的扩展性,对于为了提高程序的扩展性,对于512和和100,应用函数,应用函数size进行替换,如:进行替换,如:for i=1:size(m,1),for j=1:size(m,2); 2)为了提高运算,利用一个变量首先进行记录,以替代每次计算,如:)为了提高运算,利用一个变量首先进行记录,以替代每次计算,如:m1=size(m,1),m2=size(m,2),for i=1:m1,for j=2:m2 3)判断两个数组是否相同时,判断

18、条件的不可使用)判断两个数组是否相同时,判断条件的不可使用=或者或者=,因为,因为0,1,1,0和和1,1,1,1在判断时结果都为假。而是使用函数在判断时结果都为假。而是使用函数isequal判断两数组相同,用判断两数组相同,用isequal判断两数组不同。判断两数组不同。91关于扫描算法的总结关于扫描算法的总结优点:思路简单,操作方便,代码容易编写。优点:思路简单,操作方便,代码容易编写。缺点:多维扫描速度非常缓慢;得到的图像数据点叠加较密,不易观察;由于是扫缺点:多维扫描速度非常缓慢;得到的图像数据点叠加较密,不易观察;由于是扫描的结果,得不到半径与中轴线。描的结果,得不到半径与中轴线。92结合圆形算法和曲面管道画法得到的图形结合圆形算法和曲面管道画法得到的图形93下面是将中轴线也标注在血管中得到图形:下面是将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论