我正在尝试将一些用C++编写的OpenCV代码转换为Python。
这是我遇到的C++代码:
img2 = img1 >= 128;
其中
img2
和img1
均为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