qq_36908843 2018-04-08 04:01 采纳率: 0%
浏览 5261
已结题

如何使用opencv提取下面这幅图片的十字线中心坐标

图片说明

  • 写回答

2条回答 默认 最新

  • tylerzhangdi 2018-04-08 05:55
    关注
     #include "opencv2/highgui/highgui.hpp"
    #include "opencv2/imgproc/imgproc.hpp"
    #include "opencv2/imgproc/imgproc_c.h"
    using namespace std;
    using namespace cv;
    Mat img,gray,bw;
    vector<Vec4i> hierarchy;
    vector<vector<Point> > contours;
    int threshval=50;
    Rect r;
    Rect maxrect,brect;
    int idx,n;
    int main() {
        cvNamedWindow("img",1);
        img=imread("cross.jpg",1);
        cvtColor(img,gray,CV_BGR2GRAY);
        bw=threshval>128?(gray<threshval):(gray>threshval);
        findContours(bw,contours,hierarchy,RETR_EXTERNAL,CHAIN_APPROX_SIMPLE);
        if (!contours.empty()&&!hierarchy.empty()) {
            idx=0;
            n=0;
            for (;idx>=0;idx=hierarchy[idx][0]) {
                n++;
                if (1==n) {
                    maxrect=boundingRect(Mat(contours[idx]));
                } else {
                    brect=boundingRect(Mat(contours[idx]));
                    CvRect mr(maxrect),br(brect);
                    maxrect=cvMaxRect(&mr,&br);
                }
            }
            circle(img,Point(maxrect.x+maxrect.width/2,maxrect.y+maxrect.height/2),2,Scalar(0,0,255));
        }
        imshow("img",img);
        waitKey(0);
        cvDestroyWindow("img");
        return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!