0

上位机图像处理和嵌入式模块部署(qmacvisual拟合圆和拟合椭圆)

 1 month ago
source link: https://blog.csdn.net/feixiaoxing/article/details/137000930
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们学习了拟合直线,今天继续学习下拟合圆和拟合椭圆。其实除了最后一步不同,两者的逻辑是差不多的。一般都是,读取图片-》灰化-》轮廓筛选-》拟合圆(拟合椭圆)-》显示图形。所以今天的学习更多的是一种复习和总结。

1、创建项目和创建流程

        第一步还是创建项目和创建流程,这是所有工作开展的基础。

2、读取图像

        暂时我们还没有camera设备,所以暂时先用图片进行测试。读取图像的插件位于【图像处理】-》【获取图像】,所以这部分直接copy过来,配置一下即可。

38933a6be4d649e18ab466bde32aca97.png

3、图像灰化

        之前的图像是彩色的。所以,这边还需要利用【预处理】插件进行一个灰化的操作。插件位于【图像处理】-》【预处理】。拖过来之后,我们需要手动添加图像灰度化功能。添加好,并且运行之后,就可以看到黑白图片了。

932d69fcc7424dd99b8cd9a39b6746c1.png

4、轮廓提取

        从图片上可以看出,图像中是一个一个分离的小块。大部分小块都是离散的,部分小块是黏在一起的。对于黏在一起的小块,我们需要用某个属性把他们剔除出去。这里,我们选用了面积这个用的比较多的数值。经过选择后,只剩下一部分点参与最终的拟合圆操作。

22b88c4ba27148889124fa8df76edc21.png

5、拟合圆

        所有数据都准备好了之后,就可以开始拟合圆的操作。插件位于【几何工具】-》【拟合圆】。它的输入主要有两个部分,一个是原来的图像,一个各个轮廓的重心点,有了这两个数据,就可以完成拟合圆的操作了。这部分和之前的拟合直线是一样的。那输出的结果也是非常直接的,一个是圆心的位置,一个是半径的大小。

2f2c7bdfb08e4621ace38cb35b1057d1.png

6、图像显示

        如果流程跑起来,我们一般是看不到图像效果的,所以通常我们都会通过图像显示的插件,把结果显示到主窗口上面。显示插件的位置位于【图像处理】-》【图像显示】。在插件中,要做的只是把相应的图像和显示的窗口做一个绑定而已。

4e07c1c67a1743d6b4e493298e94fe6f.png

        所以,整体来看,这个demo的处理逻辑并不复杂,它的流程就应该是这样的,

ccf2ae5916de464c9d2109fe617cce2f.png

7、拟合椭圆

        前面我们讲过,拟合直线、拟合圆和拟合椭圆的流程是非常相似的。所以,这里如果完成的目标是拟合椭圆,那么只需要把第四个插件换成拟合椭圆就可以了。一样的图像输入,一样的轮廓重心输入,单击执行之后,我们就可以看到对应的结果。

17523987fda643fda3538b696ebbb4a8.png

        和拟合圆相比较,拟合椭圆的结果稍微复杂一点。它主要有四个输出,分别是椭圆中心坐标、椭圆角度、椭圆长轴长度、椭圆短轴长度。其中椭圆角度比较有意思,这意味生成的椭圆不一定是横平竖直的,它完全有可能是有一点倾斜角度的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK