亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

OpenCV實現拼接圖像的簡單方法

發布時間:2020-09-02 22:29:30 來源:腳本之家 閱讀:174 作者:iteye_18380 欄目:編程語言

本文實例為大家分享了OpenCV實現拼接圖像的具體方法,供大家參考,具體內容如下

用iphone拍攝的兩幅圖像:

 OpenCV實現拼接圖像的簡單方法

 OpenCV實現拼接圖像的簡單方法

 拼接后的圖像:

 OpenCV實現拼接圖像的簡單方法

相關代碼如下:

//讀取圖像
Mat leftImg=imread("left.jpg");
Mat rightImg=imread("right.jpg");
if(leftImg.data==NULL||rightImg.data==NULL)
 return;
 
//轉化成灰度圖
Mat leftGray;
Mat rightGray;
cvtColor(leftImg,leftGray,CV_BGR2GRAY);
cvtColor(rightImg,rightGray,CV_BGR2GRAY);
 
//獲取兩幅圖像的共同特征點
int minHessian=400;
SurfFeatureDetector detector(minHessian);
vector<KeyPoint> leftKeyPoints,rightKeyPoints;
detector.detect(leftGray,leftKeyPoints);
detector.detect(rightGray,rightKeyPoints);
SurfDescriptorExtractor extractor;
Mat leftDescriptor,rightDescriptor;
extractor.compute(leftGray,leftKeyPoints,leftDescriptor);
extractor.compute(rightGray,rightKeyPoints,rightDescriptor);
FlannBasedMatcher matcher;
vector<DMatch> matches;
matcher.match(leftDescriptor,rightDescriptor,matches); 
int matchCount=leftDescriptor.rows;
if(matchCount>15)
{
 matchCount=15;
 sort(matches.begin(),matches.begin()+leftDescriptor.rows,DistanceLessThan);
} 
vector<Point2f> leftPoints;
vector<Point2f> rightPoints;
for(int i=0; i<matchCount; i++)
{
 leftPoints.push_back(leftKeyPoints[matches[i].queryIdx].pt);
 rightPoints.push_back(rightKeyPoints[matches[i].trainIdx].pt);
}
 
//獲取左邊圖像到右邊圖像的投影映射關系
Mat homo=findHomography(leftPoints,rightPoints);
Mat shftMat=(Mat_<double>(3,3)<<1.0,0,leftImg.cols, 0,1.0,0, 0,0,1.0);
 
//拼接圖像
Mat tiledImg;
warpPerspective(leftImg,tiledImg,shftMat*homo,Size(leftImg.cols+rightImg.cols,rightImg.rows));
rightImg.copyTo(Mat(tiledImg,Rect(leftImg.cols,0,rightImg.cols,rightImg.rows)));
 
//保存圖像
imwrite("tiled.jpg",tiledImg);
 
//顯示拼接的圖像
imshow("tiled image",tiledImg);
waitKey(0);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

墨玉县| 泸西县| 托克托县| 乳山市| 贺州市| 深圳市| 乐业县| 东海县| 台安县| 武山县| 高邑县| 嵩明县| 炎陵县| 鄂伦春自治旗| 陈巴尔虎旗| 怀安县| 永兴县| 景谷| 鹿邑县| 吉木萨尔县| 龙门县| 长治县| 亚东县| 双桥区| 饶阳县| 兴山县| 上栗县| 四川省| 长沙市| 永泰县| 常熟市| 靖江市| 凌源市| 柞水县| 南木林县| 祁阳县| 全南县| 邯郸县| 辽宁省| 县级市| 嘉黎县|