相关疑难解决方法(0)

OpenCV C++/Obj-C:检测一张纸/方形检测

我在我的测试应用程序中成功实现了OpenCV平方检测示例,但现在需要过滤输出,因为它非常混乱 - 或者我的代码是错误的?

我对本文的四个角点感兴趣,以减少偏斜(如此)和进一步处理......

输入输出: 输入输出

原始图片:

点击

码:

double angle( cv::Point pt1, cv::Point pt2, cv::Point pt0 ) {
    double dx1 = pt1.x - pt0.x;
    double dy1 = pt1.y - pt0.y;
    double dx2 = pt2.x - pt0.x;
    double dy2 = pt2.y - pt0.y;
    return (dx1*dx2 + dy1*dy2)/sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10);
}

- (std::vector<std::vector<cv::Point> >)findSquaresInImage:(cv::Mat)_image
{
    std::vector<std::vector<cv::Point> > squares;
    cv::Mat pyr, timg, gray0(_image.size(), CV_8U), gray;
    int thresh = 50, N = 11;
    cv::pyrDown(_image, pyr, cv::Size(_image.cols/2, _image.rows/2));
    cv::pyrUp(pyr, …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing objective-c computer-vision

171
推荐指数
3
解决办法
11万
查看次数

Java OpenCV纠正轮廓

我在检测特定类型的对象方面取得了一些进展.实际上是一张卡片,就像你钱包里的其他卡片一样.

现在我不得不纠正这张照片了.看到:

在此输入图像描述

蓝色(圆角)矩形表示检测到的轮廓.紫色旋转矩形表示RotatedRect从检测到的轮廓中提取的.绿线就是边界框.

好吧,我不需要那些矩形.矩形都有90度角.哪个不会让我有所了解.

我的问题:

如何从轮廓中获得所有四边形角的尽可能准确?

java opencv

5
推荐指数
1
解决办法
1万
查看次数