我正在尝试将一些用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

10-08 09:24