Open Cv-Emgu Cv如何在灰度图像上查找7段显示的矩形区域

问题描述 投票:2回答:2

我正在创建一个用于从7段显示压力表读取值的系统。为了从数字(七段显示)仪表中检测数字和值,我经过以下链接:

  1. https://hackernoon.com/building-a-gas-pump-scanner-with-opencv-python-ios-116fe6c9ae8b
  2. https://www.pyimagesearch.com/2017/02/13/recognizing-digits-with-opencv-and-python/
  3. https://www.kurokesu.com/main/2017/02/20/dumb-thermometer-gets-digital-output/
  4. https://www.calloftechies.com/2017/12/character-recognition-explained.html

根据以上链接的解释,我创建了以下阅读数字的步骤

  1. 将图像转换为灰度图像。
  2. 使用Otsu's >>阈值和二进制逆运算的算法生成二进制图像。
  3. 使用大津
  4. 阈值应用Canny边缘检测。
  5. 在Canny Edge Detection上找到FindContours
  6. 这对某些图像来说效果很好,但是当转盘上有浅色时,则不起作用。

带有浅色的原始图像。Original Image灰度图像enter image description here具有大津和二元逆的阈值应用图像enter image description here

您可以看到面板之间没有太大的颜色差异显示部分和仪表区域,因此Otsu 将整个表盘转换为忽略面板部分的白色]]

也请参见下图:原始,灰度和阈值。

enter image description here

enter image description here

enter image description here

[请帮我找出矩形预先感谢。

我正在创建一个用于从7段显示压力表读取值的系统。为了从数字(七段显示)仪表中检测数字和值,我通过以下链接进行了访问:https:// ...

opencv image-processing ocr emgucv seven-segment-display
2个回答
0
投票

Otsu非常擅长在两个主导强度下找到一个好的阈值。但是,当其中有三个(白色,灰色,黑色)时,它无法猜测您要分离的内容。

如果您在拒绝大部分背景的窗口中应用Otsu,它将再次正常工作。


0
投票

这里是使用轮廓逼近+轮廓滤波的方法:

© www.soinside.com 2019 - 2024. All rights reserved.