上位机图像处理和嵌入式模块部署(qmacvisual点线测量)

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

上面一篇文章,我们完成了直线的拟合操作。在实际场景中,拟合之后更多地是需要进行长度的测量。既然是测量,那么就需要两个信息,一个是测量点的信息,这部分目前可以通过设置全局变量的方法来完成;另外一个就是需要直线的k和b,这部分也已经通过直线拟合实现了。所以,点线测量实际并不复杂。而且,真实应用的时候,这里的点往往也是来自于某个固定目标的点,或者是人为设计的某个点。

1、控件位置

控件的位置位于【几何测量】-》【点+线】。当然基础工程、基础流程都是需要配置的,这里不再赘述了。

2、配置全局变量

因为点线测距,既需要点,也需要线。线已经准备好了,所以这里只需要设置一个全局变量的点就好了,

3、整体设计

整体设计,基本上是前面几节课的一个大总结。首先是读取图像,读取结束之后就开始图像预处理。预处理完毕,就可以着手轮廓的提取。有了轮廓,就有了重心坐标,当然也就可以拟合直线了。最后就是用点线插件计算一下交集。

4、点线配置

点线配置,就是我们之前所说的点、线设置。这部分已经讨论过。点来自于全局变量,线来自于直线拟合。大家看一下这个截图就明白了,

从图上可以明显看出主要的配置。配置的内容集中在点坐标、直线斜率、直线截距三个部分。右侧是单击执行按钮之后的效果。如果没有什么问题,我们就可以在左下方看到对应的打印效果。结果告诉我们,两者之间的交点是239、367,距离为154。

实际应用中,摄像头安装好了之后,一般几个标记点的位置都是固定的,比如这里的P点。甚至于说,这里的P点有好几个。但是它们共同的特点就是,一般摄像头安装好了之后,位置就相对固定了,所以通过这样的固定点当成参考点,很容易计算出这个点到其他直线、圆、长方形的距离。只不过这里为了测试和验证,我们随机设定了一个数值。真实部署的时候,这些点都需要单独标定的。

5、丰富一下结果输出部分

在整体设计当中,我们其实还添加了两个图像显示。一个是源图像的显示,一个是输出结果的显示。主要也是为了体现两者之间的对比之处。一幅图像从拿到之后,到出结果,这中间往往还是要走一段距离的。我们今天的demo尚且都需要思考一番,实际部署的时候,遇到的情况只会更烦、更麻烦。遇到这些困难和麻烦的时候,一定要迎难而上,因为实际学习遇到的场景往往都是简单的、单一的,它不能帮助客户解决真实存在的问题,这是最要命的。

另外从我个人的经验来说,还有两点需要注意。第一,就是加强人工智能的学习,未来的硬件只会越来越便宜,算力越来越强,这意味着用软件可以做的事情也越来越多;第二就是加强传感器的学习。图像只是众多传感器中的一环,图像中不确定的信息可以试着能不能由其他传感器来进行补充解决,这很重要。算法固然重要,但是光源、镜头、其他传感器的配合也一样重要,我们要用好图像,但是也不能排斥其他传感器和方法。

相关推荐
nenchoumi311916 分钟前
Tello无人机与LLM模型控制 ROS
人工智能·语言模型·机器人·无人机
居然JuRan18 分钟前
每天拆解一个AI知识: Context Engineering
人工智能
kyle~29 分钟前
OpenCV---特征检测算法(ORB,Oriented FAST and Rotated BRIEF)
人工智能·opencv·算法
初学小刘36 分钟前
决策树:机器学习中的强大工具
算法·决策树·机器学习
小五12737 分钟前
机器学习(决策树)
人工智能·决策树·机器学习
Wah-Aug43 分钟前
从决策树基础到熵与信息增益
决策树·机器学习·分类
没有不重的名么1 小时前
Tmux Xftp及Xshell的服务器使用方法
服务器·人工智能·深度学习·机器学习·ssh
wayman_he_何大民1 小时前
初识机器学习算法 - AUM时间序列分析
前端·人工智能
什么都想学的阿超2 小时前
【大语言模型 00】导读
人工智能·语言模型·自然语言处理
lxmyzzs2 小时前
【图像算法 - 16】庖丁解牛:基于YOLO12与OpenCV的车辆部件级实例分割实战(附完整代码)
人工智能·深度学习·opencv·算法·yolo·计算机视觉·实例分割