基于matlab实现骨骼图像增强(实现方法)

上传人:第*** 文档编号:67478585 上传时间:2019-01-07 格式:DOC 页数:4 大小:281KB
返回 下载 相关 举报
基于matlab实现骨骼图像增强(实现方法)_第1页
第1页 / 共4页
基于matlab实现骨骼图像增强(实现方法)_第2页
第2页 / 共4页
基于matlab实现骨骼图像增强(实现方法)_第3页
第3页 / 共4页
基于matlab实现骨骼图像增强(实现方法)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于matlab实现骨骼图像增强(实现方法)》由会员分享,可在线阅读,更多相关《基于matlab实现骨骼图像增强(实现方法)(4页珍藏版)》请在金锄头文库上搜索。

1、基于MATLAB实现骨骼图像增强(实现方法)总体思路:原图像是人体骨骼核扫描图像,我们的目的是通过图像锐化突出骨骼的更多细节来增强图像。由于图像灰度的动态范围很窄并且有很高的噪声内容,所以很难对其进行增强。对此我们采取的策略是,首先用拉普拉斯法突出图像中的小细节,然后用梯度法突出其边。平滑过的梯度图像将用于掩蔽拉普拉斯图像。最后,我们将试图试用灰度变换来增强图像的灰度动态范围。原图:MATLAB程序:%骨骼图像增强 clear all;clc; im=imread(D:Program Files (x86)MATLAB R2017bWorkbonesbones.jpg); im = im2do

2、uble(im); im=rgb2gray(im); %原始图像 subplot(2,4,1); imshow(im); title(1:原始图像); %图2,使用模板为-1,-1,-1;-1,8,-1;-1,-1,-1的滤波器对原图像进行拉普拉斯操作,为了便于显示,对图像进行了标定,这一步先对图像进行初步的锐化滤波。 subplot(2,4,2); h =-1,-1,-1;-1,8,-1;-1,-1,-1; im1 =imfilter(im,h); imshow(im1); title(2:拉普拉斯操作后图像); %图3,由于使用的模板如上,让常数c=1,简单的将原图和图2相加就可以得到一幅

3、经过锐化过的图像。 subplot(2,4,3); im2=im+im1; imshow(im2) title(3:图1和图2相加后的锐化图像); %图4,对原图像试用Sobel梯度操作,分量gx为-1,-2,-1;0,0,0;1,2,1,而分量gy为-1,0,1;-2,0,2;-1,0,1的模板。 subplot(2,4,4); gx=-1,-2,-1;0,0,0;1,2,1; %生产sobel垂直梯度模板 gy=-1,0,1;-2,0,2;-1,0,1; %生产sobel水平梯度模板 gradx=filter2(gx,im,same); gradx=abs(gradx); %计算图像的so

4、bel垂直梯度 grady=filter2(gy,im,same); grady=abs(grady); %计算图像的sobel水平梯度 im3=gradx+grady; %得到图像的sobel梯度 imshow(im3,); title(4:图1Sobel梯度处理后图像); %图5,使用大小为5*5的一个均值滤波器得到平滑后的Sobel梯度图像。 subplot(2,4,5); h1 = fspecial(average,5) ; im4 = imfilter(im3,h1); imshow(im4); title(5:使用5*5均值滤波器平滑后的Sobel图像); %图6,将拉普拉斯图像(

5、即图3)与平滑后的梯度图像(即图5)进行点乘。 subplot(2,4,6); % im5=immultiply(im2,im4); im5=im2.*im4; imshow(im5); title(6:图3和图5相乘的掩蔽图像); %图7,将乘积图像(即图6)与原图像相加就产生一幅需要的锐化图像。 subplot(2,4,7); im6=im+im5; imshow(im6); title(7:图1和图6求和得到的锐化图像); %图8,我们希望扩展灰度范围,对图7进行幂率变换处理,r=0.5,c=1,然后即可对图像进行幂率变换 subplot(2,4,8); gamma=0.5; c=1;

6、im7=c.*im6.gamma; imshow(im7); title(8:图7进行幂律变换后的最终图像);输出结果:附:1、图2,使用模板为-1,-1,-1;-1,8,-1;-1,-1,-1的滤波器对原图像进行拉普拉斯操作,为了便于显示,对图像进行了标定,这一步先对图像进行初步的锐化滤波。2、图3,由于使用的模板如上,让常数c=1,简单的将原图和图2相加就可以得到一幅经过锐化过的图像。(而这个时候看到图2的噪声水平,将图1和图2相加之后也必然会有很多的噪声。拉普拉斯操作作为一种二阶微分算子,能很好的增强细节,但也产生更多的噪声。而降低噪声的一种方法就是使用中值滤波器,但属于非线性滤波器的中

7、值滤波器有可能改变图像的性质,所以不可取。所以采取另一种方法,使用原图像梯度操作的平滑形式所形成的一个模板。)3、图4,对原图像试用Sobel梯度操作,分量gx为-1,-2,-1;0,0,0;1,2,1,而分量gy为-1,0,1;-2,0,2;-1,0,1的模板。(梯度变换在灰度斜坡或台阶的平均相应要比拉普拉斯操作的更强烈,而对噪声和小细节的响应要比拉普拉斯操作的相应弱,而且可以通过均值滤波器对其进行平滑处理可以进一步降低,此时看图像中的边缘要比拉普拉斯图像(即图3)中的边缘要突出许多)4、图5,使用大小为5*5的一个均值滤波器得到平滑后的Sobel梯度图像。(图4,5要比图2亮表明具有重要边

8、缘内容的梯度图像的值一般要比拉普拉斯图像的值高) 5、图6,将拉普拉斯图像(即图3)与平滑后的梯度图像(即图5)进行点乘。(此时看到强边缘的优势和可见噪声的相对减少,用平滑后的梯度图像来掩蔽拉普拉斯图像的目的达到了)6、图7,将乘积图像(即图6)与原图像相加就产生一幅需要的锐化图像。(与原图像相比,该图像中大部分细节的清晰度的增加都很明显,所以我们才需要综合多种的方法对图像进行处理,单独使用一种方法根本不可能达到这么好的效果,只需要看相对应的图像进行对比即可知道)7、图8,我们希望扩展灰度范围,对图7进行幂率变换处理,r=0.5,c=1,然后即可对图像进行幂率变换(此时需要增大锐化后图像的动态范围,即使有很多种这样效果的灰度变换函数,但是用幂率变换处理更好,直方图均衡和规定化的效果都不太好)(此时人体的轮廓的清晰度虽然还是不高,因为扩大的灰度动态范围的同时也增大了噪声,但是相比原图还是有相当大幅度的提高的,看下图原图与最终图像对比)4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号