python和c像吗_C和Python之间的轮廓差异

我目前正在使用opencv来检测形状上的简单计数器.起初,我使用了c,一切运作良好.现在,我正在尝试使用

Python,因为我需要在线使用它,并且轮廓检测似乎不能正常工作.

这是我的c代码:

_src = cv::imread(_imagePath);

cv::Mat gray;

cv::cvtColor(_src, gray, CV_BGR2GRAY);

cv::Mat bw;

cv::Canny(gray, bw, 0, 50, 5);

cv::findContours(bw.clone(), allCountours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE);

正如您所看到的,它非常简单,Python的代码相同:

self._src = cv2.imread(self._imagePath)

gray = cv2.cvtColor(self._src, cv2.COLOR_BGR2GRAY)

bw = cv2.Canny(gray, 0, 50, 5)

allCountours, hierarchy = cv2.findContours(bw.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

为了显示结果,我在不同的轮廓上使用了随机颜色的drawcontours:

正如你所看到的,在c中每个形状轮廓都被正确检测到,虽然它并不完美,但在Python中我有更多的轮廓.每次线断开时,都会检测到新的轮廓.知道如何解决这个问题吗?谢谢 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值