1、摘要: 本次我课程设计的题目是“彩色图像处理”,其目的是利用图像处理技术,将所给的图像进行去蓝色琼脂背景的处理,同时计算出肌肉、骨骼与脂肪的相对比例,但因为骨骼和脂肪不好分辨,所以最终只是将肌肉部分与其他部分分开。彩色图像所蕴含的的图像信息相对于纯灰度图像是更直观全面的,本实验通过将其从RGB模式转换为HSV模型,然后直方图测试分析,最终确定目的成分的信息,最终达到图像处理的目的。关键字:彩色图像,RGB,HSV分量 1.原理叙述: 首先对图片进行读取,目的是去除图像中的蓝色琼脂背景。这次图像处理的核心是通过直方图确定成分对应的范围,然后将其重新赋值,进而将背景进行去除。在读取完图像之后,对其
2、进行模型转换,将RGB模型转变为HSV模型,然后求其行直方图,通过测试一步步确定成分所对应的分量范围,即肌肉、骨骼、脂肪以及蓝色背景所对应的H分量范围以及V分量范围,将蓝色琼脂背景的范围所对应的值均赋值为零,则达到了去除背景的目的。在加分项中,对处理后的图像再进行成分分离,然后利用find函数进行非零像素点统计,再利用求出其像素点长度个数,就可以求出其面积。 2.设计方案及与运行结果:2.1.流程图:2.2.关键程序段:i=imread(h:imageimageslice.jpg);i=double(i)/255;I=rgb2hsv(i);%读取原图像并转换模型H=I(:,:,1);S=I(:
3、,2);V=I(:,3);subplot(3,2,1);imshow(H);title(H分量subplot(3,2,2);imhist(H);H直方图subplot(3,2,3);imshow(S);S分量subplot(3,2,4);imhist(S);S直方图subplot(3,2,5);imshow(V);V分量subplot(3,2,6);imhist(V);V直方图V(H0.15)=0;V(V0.18)=0;%试出蓝色背景成分并使其为零I(:,1)=H;,2)=S;,3)=V;figure;i1=hsv2rgb(I);%将HSV模型逆变换为RGB模型subplot(1,2,1);i
4、mshow(i);原图subplot(1,2,2);imshow(i1);去蓝 I=rgb2hsv(i1);0&H0.08)=0;%试出肌肉部分的范围,并使其为零i2=hsv2rgb(I);M=find(i2);x=length(M);N=find(i1);y=length(N);a=x/y;subplot(1,2,1)imshow(i2);title(骨骼和脂肪,num2str(a);i3=i1-i2;M=find(i3);%利用find函数找出非零的像素点%利用length函数求出非零像素点的个数 2.3.运行结果 图2-1 原图像的HSV分量直方图 图2-2 去除蓝色背景前后 图2-3
5、处理后的图像的直方图 图2-4 处理后的肌肉,脂肪和骨骼部分分布图 3总结本次实验所用到的MATLAB软件是一款很强大的软件,在进行矩阵运算时非常方便和有效。本次利用它进行图像处理,将图像处理成符合要求的图像。我选的课题是彩色图像处理,基本思路是将彩色图像转换为HSV模型,在三个分量上进行调试,依次得出其范围,再对其进行重新赋值。在实验的过程中,首先遇到的困难是不熟悉这款选件,所以见了几本书并且做了很多练习,在熟悉到一定程度后,开始进行图像处理。之后遇到的问题是关于算法的一些问题。在网上查找了一些方法之后,发现虽然整个思路是清晰的,但编成算法之后却无法运行,这样的打击还是蛮大的,后来经过与同学
6、的交流,逐渐明确了算法的编写。最后在做加分项时,发现骨骼和脂肪根本是无法分开,他们颜色上的接近导致无法在HSV分量上直接将其进行区分,所以最后这个问题也没有得到解决。最后,在算法语句中,要利用常见的算法格式,在用不常见的算法语句时,可以先对随机矩阵进行试验,确定正确之后再使用。 4参考文献【1】MATLAB应用实例精讲:图像处理与GUI设计篇 电子工业出版社 陈超等编著. 2011.02【2】数字图像处理及MATLAB实验:学习与实验指导 杨杰主编,李庆副主编 北京电子工业出版社 2010.【3】MATLAB函数速查手册 李玉莉等编著 北京化学工业出版社 2010. 附录 完整程序subplot(1,2,2)imshow(i3);肌肉
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1