python - 将 OpenCV 中的比较运算符翻译成 Python
问题描述
我正在尝试将一些用 C++ 编写的 OpenCV 代码翻译成 Python。这是我遇到的 C++ 代码:
img2 = img1 >= 128;
其中img2
和img1
都是 类型cv::Mat
。
似乎在 Python 的 OpenCV 库中没有这样的函数可以完成与此处的运算符重载等效的工作。我怎么可能翻译这个?
解决方案
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
推荐阅读
- coq - Coq:错误:无法找到库 Coq.extraction.Extraction
- c++ - 链接 qt5 库通过 cmake 自动将额外的 fPIC 标志传递给 nvcc 编译器导致错误
- java-8 - 减少与 MapToInt 在 Streams API 中获取总和
- regex - 正则表达式将新行和空格替换为空格
- php - 本地化 resource::route url 但保留名称
- asp.net-mvc - _Layout.cshtml 中的 System.IndexOutOfRangeException
- php - Laravel 从 URL 获取未命名的“GET”参数 id
- javascript - 如何将按钮和输入元素添加到下拉列表中
- javascript - 怎样才能让用户做一次QUIZZ?
- android - 使用毕加索将base64字符串加载到imageview中