首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用实时视频馈送监控Python中的模拟量

用实时视频馈送监控Python中的模拟量
EN

Stack Overflow用户
提问于 2018-05-15 16:04:21
回答 1查看 2.1K关注 0票数 0

我希望这里有人能帮我解决这个问题。当看起来像的压力表达到一定的可变压力时,我正试图找到一种使用实时视频提要来运行python0Script的好方法。

我很有信心,这不应该是太困难,因为量规将安装在一个固定的位置,在图像框架,但这是新的东西,真的不知道从哪里开始。

有什么建议吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-15 17:28:27

这个问题可能比你想象的要困难得多。通常,人们使用OpenCV来解决图像处理/模式识别问题。有许多优秀的有关Python的教程可在文档中获得

在它的核心,你的问题是计算出旋转角度的针。然后,从那里,你可以计算什么是压力。如果你幸运的话,你可以用特征检测+单形找到针头,然后计算角度。但我怀疑这种图像是否会导致特征检测。

模板匹配将能够找到针头,但它对旋转非常敏感,因此您必须生成大量不同针角的模板,然后每次需要压力读取时都会遍历所有模板。

它很可能更快,更便宜,更容易使用电子压力表来读取压力。有很多种方法可以将电子计量器的输出输入Python。一些量规可以连接到网络上。有的可以作为串口与as 232/422或USB进行通信。

如果你能找到一个带有数字显示器的量规,那就应该更直截了当地做一些OCR/模板匹配来从照相机读取显示器。

编辑:

@杰里米·阿瑟的评论让我想到了另一个解决方案。如果你的注意力主要集中在当针头越过一个阈值时,你可以寻找刻度盘的前缘。你可以多看看刻度盘的中心,那里没有指示器。

这种形象真的可以很容易地转换成黑白。刻度盘是黑色的,背景(至少朝向中央)是白色的。在你做了一些形态学和你的图像的阈值,你可以寻找刻度盘的黑色像素。不需要模板匹配。下面的图片说明了其中的一些想法。第一张图片是你的图像被分割成黑白的。开始的图像非常干净,但如果你是从相机上抓取,你可能需要做一些模糊,形态学之前,阈值,以获得没有流浪的黑色像素,你不想要它们。第二个图像有一个叠加的圆圈,你可以在那里寻找黑色像素。你可以找到前缘,后缘和平均值,以得到一个相当精确的中心值。

一些更多的实现细节/伪代码。对于计算机图像,原点通常是左上角,+y向下。同时,我定义了随着压力的增加,角θ的增加。圆的参数方程是

代码语言:javascript
运行
复制
x = x0 - r*cos(theta + theta0)
y = y0 - r*sin(theta + theta0)

theta0是提供零压力的偏置角(图中的量规在-45度左右)。寻找针的强力方法是从零开始扫描角度,直到在x,y处找到一个黑色像素。然后继续增加,直到在x,y处找到一个白色像素。这两个角度的平均值给出了针的中心,你应该能够计算压力。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50354682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档