python - 将OpenCV中的比较运算符转换为Python

标签 python opencv computer-vision

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

img2 = img1 >= 128;

其中img2img1均为cv::Mat类型。

似乎在适用于Python的OpenCV库中,没有这样的函数可以完成相当于运算符重载的工作。我该怎么翻译?

最佳答案

array >= 128应该产生一个 bool(boolean) 数组,您可以将其转换为int并乘以255以得到所需的值。它应该比循环快几个数量级。

否则也有

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

关于python - 将OpenCV中的比较运算符转换为Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61981752/

相关文章:

opencv - 检测篮子标量值中的红球不起作用

python - 数组中数字的总和,不包括 13 和它后面的数字(CodingBat 谜题)

c++ - OpenCV Remap参数及使用方法?

c++ - 如何在 OpenCV 中使用 SimpleBlobDetector?

java - 如何将mat(OpenCV)转换为图像(JavaFX)?

python - 按空白分割图像

opencv - 多项选择测试标记阅读器 - 从哪里开始?

python - 对条形图上显示的条形进行排序和限制数量

Python套接字: [Errno 99] when binding to ip on local network

Python C API : Switch on PyObject type