关于MATLAB 图像轮廓提取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MATLAB 图像轮廓提取相关的知识,希望对你有一定的参考价值。

将这个汽车的轮廓提取出来 要线条的 只要轮廓 麻烦懂的人给我一段程序 高分悬赏

我帮你改了一下代码,你把bw=bwperim(f);(包括这句)以后的代码都去掉,用我给你写的这个,就可以提取出图像上下左右边界的坐标了。
[x,y]=size(f);
for i=1:x
f(i,2)=0;
f(i,y-1)=0;
end
for j=1:y
f(2,j)=0;
f(3,j)=0;
f(x-1,j)=0;
f(x-2,j)=0;
end
[m1,n1]=find(f);
maxx=max(m1);
maxy=max(n1);
minx=min(m1);
miny=min(n1);

你可以输出一下看看是不是你想要的结果,希望对你能有所帮助。O(∩_∩)O
参考技术A 你可以试试边缘检测!具体的程序就是一个edge函数!具体使用方法你可以在matlab里面查找帮助文档!

ENVI怎么提取图像里某一个点的Spectral Library

我需要从我已有的一个图像中选取某一个点生成这个点的Spectral Library

第一,打开高光谱图像,如图1示。

                

                                                               图1

第二,选择Tools菜单下的Pixel Locator...,如图2示

                    

                                                               图2

第三,在弹出的#1 Pixel Locator中输入目标点所在的行(Line)、列(Sample),比如561行589列,单击Apply按钮即可,如图3示:

                                         

                                                                     图3

第四,选择Tools菜单下的Profile→Z Profile,如图4

                     

                                                                    图4

第五,弹出Spectral Profile窗口,里面的光谱曲线就是该点的光谱曲线,如图5示

                       

                                                           图5

第六,Spectral Profile窗口中选择,File→Save Plot as→Spectral Liberary,如图6,弹出对话框Output Plots to Spectral Liberary,如图7

                       

                                                                 图6

                                           

                                                                   图7

第七,在弹出的Output Plots to Spectral Liberary窗体中单击选中X: 589 Y:561 (50 bands),点击OK,如图8示

                                         

                                                                       图8

第九,在弹出的对话框中选择文件的保存路径如本例中:C:\\Users\\wlb\\Desktop\\1234.sli,sli文件名随便命名,本例中使用1234.sli即可,如图9示:

                                     

                                                                              图9

第十,点击OK,即可生成您想要的点的Spectral Liberary文件到保存的文件夹。

第十一,选择ENVI软件界面上的Windows菜单下的Start New Plot Window,如图10,打开一个名为ENVI Plot Window的新的绘图窗口,图11。

                         

                                                                      图10

                               

                                                                           图11

第十二,选择File→Input Data→Spectral Libraty...,如图12

                              

                                                                          图12

第十三,弹出界面Spectral Library Input File,如图13

                      

                                                                              图13

第十四,选择点击Open按钮选择Spectral Library...单击,如图14

                            

                                                                        图14

第十五,在弹出的Please Select a File对话框中选择第九步中保存的1234.sli文件,如图15示

                   

                                                                          图15

第十六步,单击打开按钮,返回Spectral Library Input File界面,选择刚导入的1234.sli文件,点击OK按钮,如图16示

                

                                                             图 16

第十七步,弹出Input Spectral Library界面,如图17

                                    

                                                                图17

第十八步,选中'Available Spectra'下面的X: 589 Y: 561,单击OK按钮,如图18

                                     

                                                              图 18

这样保存的某个点的Spectral Library波谱库文件1234.sli的波谱曲线就顺利的导入到了新建的ENVI Plot Window绘图窗口中,如图19示

                        

                                                                  图 19

注:第十步生成的1234.sli就是您想要的某个点的波谱库Spectral Library数据。

第十一步到第十九步说明了怎样将生成的1234.sli导入到新的绘图窗口中显示。

第二和第三步使用了Pixel Locator来定位某个像元点,您也可以直接根据需要在图1中的#1图像中通过拖动鼠标将红色光标移动到您想要的点的位置,其余步骤(第三到第十步)相同。

参考技术A 有时候我像一个疯子

以上是关于关于MATLAB 图像轮廓提取的主要内容,如果未能解决你的问题,请参考以下文章

关于用matlab处理图像的问题,如何将下进行边缘提取,得到比较清晰的轮廓,最好是能寻找到偏心孔的坐标

MATLAB应用实战系列(四十五)-matlab任意图形轮廓坐标提取含源代码

OpenCV-Python系列八:提取图像轮廓

图像轮廓之查找并绘制轮廓

在matlab中,怎么把图片中的图像轮廓坐标找出来?

matlab怎么将图像处理的轮廓坐标连线起来