【发布时间】:2012-06-08 18:54:53
【问题描述】:
我们急需帮助,我们在 Android (Java) 中使用 openCv。 我们面临很多问题:
convertTo() 不起作用,因此我们无法将 3 通道图像转换为 1 通道而不将其传递给 cvtColor()。
grayImg.convertTo(grayImg, CvType.CV_8UC1);
cvtColor() 给出一个奇怪的输出:
Imgproc.cvtColor(src, grayImg, Imgproc.COLOR_RGB2GRAY);
这一行的输出是重复4次的图像! 摆脱这种重复的唯一方法是添加这一行,输出是黑白图像,但 3 通道,因此它会崩溃任何即将到来的功能,因为它需要 1 通道图像。
Imgproc.cvtColor(grayImg, grayImg, Imgproc.COLOR_GRAY2RGB,3);
canny() 用于边缘检测:
Imgproc.Canny(grayImg, grayImg, 10, 100,3,true);
findContours() 计算出可怕数量的轮廓,而图像中的对象数量只有 2 个输入图像是 3 通道 bmp 图像,我们将其转换为 Mat。
输出图像:
https://dl.dropbox.com/u/36214963/canny.jpg
感谢您的关心
【问题讨论】:
标签: android eclipse opencv edge-detection javacv