首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >connectedComponents中的opencv (Python)不关心连接性吗?

connectedComponents中的opencv (Python)不关心连接性吗?
EN

Stack Overflow用户
提问于 2018-03-29 10:23:13
回答 1查看 1.3K关注 0票数 2

connectedComponents (或connectedComponentsWithStats)是Python (2.7.12)中的opencv (3.3.0)函数,我有一个问题。一个简单的代码如下:

代码语言:javascript
运行
复制
import numpy as np
import cv2

img = np.zeros((4,4), dtype = np.uint8)
img[1,1] = 255
img[2,2] = 255
output = cv2.connectedComponents(img, 4)
print output[1]

它回来了

代码语言:javascript
运行
复制
[[0 0 0 0]
 [0 1 0 0]
 [0 0 1 0]
 [0 0 0 0]]

这很奇怪,因为我要求连接4(而不是8)的连接组件。因此,(1, 1)(2, 2)中的两个像素没有连接,应该给出两个不同的连接分量,例如标记为1和2。

我搞错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-29 15:48:43

替换

代码语言:javascript
运行
复制
output = cv2.connectedComponents(img, 4)

通过

代码语言:javascript
运行
复制
output = cv2.connectedComponents(img, connectivity=4)

会给你

代码语言:javascript
运行
复制
[[0 0 0 0]
 [0 1 0 0]
 [0 0 2 0]
 [0 0 0 0]]

另外,提供所有3个参数

代码语言:javascript
运行
复制
output =  cv2.connectedComponents(img, 4, cv2.CV_32S)

我不是百分之百的原因。我会把这个留给Python专家。根据我的理解,cv2.connectedComponents(img, 4)应该工作得很好。但事实并非如此

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49553646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档