91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何提取opencv中匹配點對的坐標

發布時間:2020-07-20 09:07:40 來源:億速云 閱讀:398 作者:小豬 欄目:開發技術

這篇文章主要講解了如何提取opencv中匹配點對的坐標,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

在opencv中,特征檢測、描述、匹配都有集成的函數。vector<DMatch> bestMatches;用來存儲得到的匹配點對。那么如何提取出其中的坐標呢?

 int index1, index2;
 for (int i = 0; i < bestMatches.size(); i++)//將匹配的特征點坐標賦給point
 {
 index1 = bestMatches.at(i).queryIdx;
 index2 = bestMatches.at(i).trainIdx;
 
 cout << keyImg1.at(index1).pt.x << " "
    << keyImg1.at(index1).pt.y << " "
    << keyImg2.at(index2).pt.x << " "
    << keyImg2.at(index2).pt.y << endl;
 }

補充知識:OpenCV 如何獲取一個連通域中的所有坐標點

如何提取opencv中匹配點對的坐標

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
 
int main(int argc, char* argv[])
{
    IplImage* img;
    img = cvLoadImage("D:\\OOTT\\WEEK5\\2.png");
    IplImage* gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
    cvCvtColor(img,gray,CV_BGR2GRAY);
    cvThreshold(gray,gray,128,255,CV_THRESH_BINARY);
    CvMemStorage* storage = cvCreateMemStorage();
    CvSeq * first_contour = NULL;
    int Ncontour = cvFindContours(gray,storage,&first_contour,sizeof(CvContour),CV_RETR_LIST); 
    //Ncontour為cvFindContours函數返回的輪廓個數
    for(CvSeq* c = first_contour;c!= NULL;c=c->h_next)
    { 
    //    cvDrawContours(img,c,cvScalar(255,255,0),cvScalar(255,0,255),0,2,8);
        cvNamedWindow("contours",CV_WINDOW_AUTOSIZE);
    //    cvShowImage("contours",img);
        for(int k = 0;k <c->total;++k)
        {
            CvPoint* p = CV_GET_SEQ_ELEM(CvPoint,c,k);
            printf("(%d,%d)\n",p->x,p->y);
 
        }    
        CvRect rect;
        rect = cvBoundingRect(c,0);
        cvFloodFill(img,cvPoint(img->width/2,img->height/2),cvScalar(255,255,255),cvScalar(20),cvScalar(20),NULL,4,NULL);
       cvShowImage("contours",img); 
        
        int Num[500][500];
        for (int i=0;i<(img->height-5);i++)
            for (int j=0;j<(img->width-5);j++)
            {
                CvScalar S0;
                S0=cvGet2D(img,i,j);
                if(S0.val[0] == 255)
                    Num[i][j]=1;
                else
                    Num[i][j]=0;
         printf("(%d,%d)\n",i,j);
            }
 
    }
    cvWaitKey(0);
    cvReleaseImage(&img);
    cvReleaseImage(&gray);
    cvDestroyWindow("contours");
    return 0;
}

看完上述內容,是不是對如何提取opencv中匹配點對的坐標有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥化市| 镇巴县| 台前县| 荥经县| 镇沅| 开江县| 海南省| 上林县| 巴林右旗| 正宁县| 巩义市| 普兰店市| 宝鸡市| 建瓯市| 民和| 章丘市| 宁河县| 罗平县| 东丽区| 衡阳市| 佛冈县| 宁南县| 玛曲县| 红河县| 荔波县| 乐昌市| 襄城县| 宁化县| 湖州市| 宝丰县| 乐东| 东明县| 奉贤区| 兴和县| 吴旗县| 乐业县| 铜陵市| 温泉县| 钟祥市| 汉沽区| 新泰市|