gpt4 book ai didi

c++ - cvFindContours()异常?

转载 作者:行者123 更新时间:2023-11-28 08:15:01 25 4
gpt4 key购买 nike

我正在创建实时软件,因此经常在全黑蒙版上调用 cvFindContours。如果是这种情况,cvFindContours 会抛出异常,程序会崩溃。

如果 cvFindContours 无法找到轮廓,我该如何做到这一点,而不是程序崩溃,程序只是移动到下一行代码(只是简单地继续)?

谢谢

PS:我想过让一个像素自动始终为白色,以防止 cvFindContours 无法找到轮廓,但这对我来说很不方便。

最佳答案

你为什么不试试下面的方法:

Mat black = Mat::zeros(Size(100, 100), CV_8UC1);

vector< vector<Point> > contours;

if(sum(black).val[0] > 0.0)
{
findContours(black, contours, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
}
else
{
cout << "It's a black image, so I'm not going to do anything..." << endl;
}

这是使用 C++ 接口(interface),但您应该能够使用 cvSum 来完成同样的事情。因此,如果图像全黑,则意味着图像仅包含零。因此,当它是黑色掩码时,总和将为零。

关于c++ - cvFindContours()异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7936309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com