关于图象的特征提取
<P>本人在做图象分类,使用神经网络来分类,但不知道如何提取图片特征,请高手帮帮忙!<BR>最好有matlab的源程序,谢谢。</P>回复:(86339097)关于图象的特征提取
这个好像要你给出个标准来吧图像特征提取
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>1 %读取待处理图像<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>2 I=imread('fibre1.png'); <p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>3 imshow(I);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock aspectratio="t" v:ext="edit"></lock></v:shapetype><v:shape><v:imagedata></v:imagedata></v:shape><p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>4 %对输入的图像I进行形态学开操作,去掉不完全包含在圆盘中的对象<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>5 bw=imopen(I,strel('line',10,45));<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>6 %反白处理<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>7 bw=imcomplement(bw);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><v:shape><v:imagedata></v:imagedata></v:shape><p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>8 %将图像转化为二值图像<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>9 bw=im2bw(I,0.75);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>10figure,imshow(bw);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>11%细化(骨架化)<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>12bw=bwperim(bw); <p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>13figure,imshow(bw);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><v:shape><v:imagedata></v:imagedata></v:shape><p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>14%去掉象素小于10的细小物体<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>15bw = bwareaopen(bw, 10);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>16figure,imshow(bw);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>17%清除与边界连通的物体<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>18bw=imclearborder(bw,4);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>19figure,imshow(bw);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><v:shape><v:imagedata></v:imagedata></v:shape><p></p></P>
<P 0cm 0cm 0pt 20pt; TEXT-INDENT: -20pt; TEXT-ALIGN: left; mso-layout-grid-align: none; mso-char-indent-count: -2.0" align=left>20%确定图像中纤维的个数,标示二值图像bw中所有相关部分,并且返回在图像中找到的对象的个数<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>21=bwlabel(bw,8);<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>22%测量对象的属性<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>23graindata=regionprops(labeled,'Area');<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>24allgrains=<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> allgrains =<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> 266 183 200 148<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>25M=max(allgrains)<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>26N=min(allgrains)<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>27mean(allgrains)<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>28num=size(allgrains)<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>29%绘制一个包含500个柱的直方图来说明纤维大小的分布情况<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>30hist(allgrains,500)<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>31xlabel('Pixel');<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>32ylabel('Distribution');<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>33title (['Total Fibre Numbers are:',num2str(num(2))],'color','r') <p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>34%打印图表<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>33print-depsc-tiff-r200myplot <p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>36%保存命令窗口数据<p></p></P>
<P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>37diary filename.m<p></p></P>
<P 0cm 0cm 0pt"><v:shape><v:imagedata></v:imagedata></v:shape></P> 特征的提取有函数regionprops,你可以看看! <STRONG><FONT face=Verdana color=#61b713>hankmat能否说详细些?不胜感谢</FONT></STRONG>
有价值,不错
有价值,不错 推荐一本书给你,上面有这方面的例子<BR><BR>Visual C++/MATLAB图像处理与识别使用案例精选 四维科技 胡小峰 赵辉编著 人民邮电出版社 是啊~<BR>楼上的说的那本书对初学者很有帮助,我的毕设有一部分就是参考这本书里的程序优化而来的~<BR>研学论坛里有相关程序代码下载~ <P>支持一下拉!!!!!!!</P> 过来学习一下~~~
页:
[1]