OpenCV2中connectedComponents的统计信息

瓦洛尔

我想使用来自connectedComponents的组件的坐标以及opencv中的统计信息,以将其用作图像的切片器,然后可以在其上处理cv2.minAreaRect之后的cv2.findContours。但是我的问题是统计数据:

cv2.CC_STAT_LEFT, cv2.CC_STAT_TOP, cv2.CC_STAT_WIDTH, cv2.CC_STAT_WIDTH, cv2.CC_STAT_HEIGHT

不要给我组件的正确位置。例如:

import cv2
import numpy as np
img = np.zeros((30,30),dtype=np.uint8)
img[10:21,10:21] = 1
img[20,21] = 1
img[21,21] = 1
img[20,22] = 1
img[21,22] = 1
numLabels, labelMatrix, stats, centroids = cv2.connectedComponentsWithStats(img, 8, cv2.CV_8UC1)
coods = np.argwhere(labelMatrix == 1)
print(min(coods[:,0]),max(coods[:,0]),min(coods[:,1]),max(coods[:,1]))
print(stats[1][cv2.CC_STAT_TOP],(stats[1][cv2.CC_STAT_TOP]+stats[1][cv2.CC_STAT_WIDTH]),stats[1][cv2.CC_STAT_LEFT],(stats[1][cv2.CC_STAT_LEFT]+stats[1][cv2.CC_STAT_HEIGHT]))

输出量

10 21 10 22
10 23 10 22

在这个小例子中,x max位置的差异只是2,但是在某些情况下,它们的差异更大。现在我不知道为什么会这样?因为我无论如何都必须计算connectedComponentWithStats,所以我想使用这些坐标,而不要使用numpy argwhere。

色情

您已将高度和宽度交换。

尝试这个:

print(
(stats[1][cv2.CC_STAT_TOP]), 
(stats[1][cv2.CC_STAT_TOP]+stats[1][cv2.CC_STAT_HEIGHT]),
(stats[1][cv2.CC_STAT_LEFT]),
(stats[1][cv2.CC_STAT_LEFT]+stats[1][cv2.CC_STAT_WIDTH]))

如果将这行与最后一行交换,您将获得:

10 21 10 22
10 22 10 23

您会注意到您与原始版本仍然相距1分,这是因为CC结果是排他性的,而min / max是包含性的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在opencv2中使用3D感知

来自分类Dev

Python中的opencv2 ORB数据结构的深层副本

来自分类Dev

opencv2中的GLCM(灰度共现矩阵)

来自分类Dev

opencv2中的轮廓和凸包用于阈值32 uint图像

来自分类Dev

在Xcode中找不到opencv2 / opencv.hpp文件

来自分类Dev

在opencv2 / 3中清除图像的最有效方法

来自分类Dev

从JOGL中获取性能统计信息

来自分类Dev

错误C1083无法在VS 2015中打开包含文件:'opencv2 \ opencv.hpp'

来自分类Dev

数据帧列表中的统计信息

来自分类Dev

查询Redis中的频率统计信息?

来自分类Dev

使用openCV2去除水平条纹

来自分类Dev

在Gadfly中处理统计信息

来自分类Dev

R中几列数据的统计信息

来自分类Dev

在Numpy和OpenCV2中替换3D子矩阵

来自分类Dev

如何读取matchTemplate的结果(Python中的OpenCV2)

来自分类Dev

OpenCV2全局函数移至何处?

来自分类Dev

如何在OpenCV2中将阈值分成正方形?

来自分类Dev

连接统计信息中的VB WebBrowser名称

来自分类Dev

如何从文件中的行打印统计信息

来自分类Dev

在opencv2中使用3D感知

来自分类Dev

Tigase组件中的统计信息列表

来自分类Dev

opencv2中的GLCM(灰度共现矩阵)

来自分类Dev

在变量中捕获SQL统计信息时间

来自分类Dev

从大量文件中收集统计信息

来自分类Dev

在OpenCv2中将像素坐标转换为世界坐标

来自分类Dev

计算PostgreSQL中的移动天气统计信息

来自分类Dev

在python,opencv2,numpy中获取图像蒙版上特征位置的索引

来自分类Dev

python opencv2 findHomography

来自分类Dev

未找到 OpenCV2 createBackgroundSubtractorMOG 属性