首页 > 解决方案 > 将 OpenCV 中的比较运算符翻译成 Python

问题描述

我正在尝试将一些用 C++ 编写的 OpenCV 代码翻译成 Python。这是我遇到的 C++ 代码:

img2 = img1 >= 128;

其中img2img1都是 类型cv::Mat

似乎在 Python 的 OpenCV 库中没有这样的函数可以完成与此处的运算符重载等效的工作。我怎么可能翻译这个?

标签: pythonopencvcomputer-vision

解决方案


array >= 128应该产生一个布尔数组,然后您可以将其转换为 int 并乘以 255 以获得您想要的。它应该比 for 循环快几个数量级。

否则还有

mask = (img1 >= 128) # Parenthesis are not needed, I just like them to surround the new object. 
img2[mask] = 255
img2[~mask] = 0

推荐阅读