python - 获取圆形openCV内的非黑色像素
问题描述
我正在尝试计算右图像圆圈内的非黑色像素(应用了蒙版)并除以圆圈中的像素总数,但我找不到方法只遍历圆内的像素。
我的想法是这样的。
- 圆的半径为 1324 像素
- 圆的中心位于第 2184 列和第 1456 行
- 由于图像具有应用的蒙版,因此我遍历所有像素,并且只计算非黑色的像素
- 除以我计算的像素并除以圆的面积
但是由于某种原因,我计算的像素比需要的多我是 OpenCV 新手,所以我没有足够的经验
我的代码:
def get_CCI(self):
result = self.result_image()
rows, cols, _= result.shape
counter = 0
for r in range(rows):
for c in range(cols):
if all(result[r, c] != [0, 0, 0]):
counter += 1
return counter / self.__get_CircleArea()
解决方案
推荐阅读
- docusignapi - 有没有办法使用 Docusign Rest API 获取一个包含所有自定义字段的封装文档?
- javascript - 为什么在 forEach 循环中使用 writeStreams 时不写入全部内容?
- android - 如何使用 Dart 签署 Binance HTTP 请求
- java - 如何在哈希图中打印具有重复值的键?
- typescript - 摩卡测试间歇性结果
- r - R - 用固定类别的非零值的平均值替换零值
- python - 从 Python 中的地址中删除电子邮件域
- opencart - 购物车没有保存适量的 opencart 2.3
- javascript - 通过for循环时如何停止滞后?
- html - CSS 类仅在悬停时可见 - 不工作