【问题标题】:Get black region from image using Tensorflow and Python使用 Tensorflow 和 Python 从图像中获取黑色区域
【发布时间】:2018-04-11 18:34:36
【问题描述】:

我正在尝试使用 TensorFlow 从图像中获取黑色区域。到目前为止,我使用的是 OpenCV,但由于灰度非常复杂,它无法获取孔区域。

我使用的图像是电表的照片,整个电表(通常)是白色的,除了带有黑色数字的部分。我想隔离这部分以便以后获得数字。

到目前为止,我一直在使用函数findContours from cv2,并定义了阈值。

我已经看到 TensorFlow 非常强大,所以我认为这不是问题,但我找不到任何文档。有什么提示吗?谢谢!

【问题讨论】:

  • 你能解释一下你所说的“黑色区域”是什么意思吗?你的意思是最大的可能全黑的正方形补丁吗?你的意思是一个布尔掩码,指示哪些像素是黑色的?你的意思是任何连续的黑色区域,无论形状如何?你到底在 OpenCV 中使用了什么,你想在 tensorflow 中复制?
  • 感谢@David Parks 的回答,我已经更新了问题

标签: python image tensorflow colors cv2


【解决方案1】:

Tensorflow 是一个通用数学库,在两个方面独一无二:

  1. 它提供自动区分功能。
  2. 它具有高效的内核,可在 CPU 或 GPU 上运行。

它确实有一个 image 函数库,但它远没有 OpenCV 广泛,而且永远不会。这些主要用于数据增强(因为它与 ML 相关)和数据加载。

请注意,在许多情况下,您可以在 GPU 上运行 OpenCV 代码(我不确定 findContours 尤其如此。所以应该考虑坚持使用 OpenCV。

但在 tensorflow 中,您必须自己重新编写该函数。查看代码(我在您的问题中提供了链接)看起来并不难。您可以以相对较短的顺序在符号 tensorflow 操作中复制它,但在 tensorflow 中没有预建这样的东西。未来也不太可能。

【讨论】:

  • 再次感谢@David Parks,鉴于 tensorflow 不是最佳选择,您知道其他工具吗? Opencv 无法在灰色区域中获得良好的实现,而红色区域可以完美运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
  • 2011-01-21
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
相关资源
最近更新 更多