91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 25.26MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-07-23
  • 語言: C/C++
  • 標簽: opencv??Stitcher類??

資源簡介

此為一項目工程文件,實現(xiàn)運用opencv進行二維多張全景圖拼接,其中包括運用opencv自帶Stitcher類的例子代碼實現(xiàn)的.cpp文件,還包括兩個運用sift 特征匹配拼接的.cpp文件,其中一個是設置匹配重疊權重,還包括測試幾張圖片,配置環(huán)境opencv2.4.10+VS2010或VS2013。

資源截圖

代碼片段和文件信息

#include?“highgui/highgui.hpp“????
#include?“opencv2/nonfree/nonfree.hpp“????
#include?“opencv2/legacy/legacy.hpp“???

using?namespace?cv;

//計算原始圖像點位在經(jīng)過矩陣變換后在目標圖像上對應位置??
Point2f?getTransformPoint(const?Point2f?originalPoint?const?Mat?&transformMaxtri);

int?main(int?argc?char?*argv[])
{
Mat?image01?=?imread(“img1.jpg“);
Mat?image02?=?imread(“img2.jpg“);
imshow(“拼接圖像1“?image01);
imshow(“拼接圖像2“?image02);

//灰度圖轉換??
Mat?image1?image2;
cvtColor(image01?image1?CV_RGB2GRAY);
cvtColor(image02?image2?CV_RGB2GRAY);

//提取特征點????
SiftFeatureDetector?siftDetector(800);??//?海塞矩陣閾值??
vector?keyPoint1?keyPoint2;
siftDetector.detect(image1?keyPoint1);
siftDetector.detect(image2?keyPoint2);

//特征點描述,為下邊的特征點匹配做準備????
SiftDescriptorExtractor?siftDescriptor;
Mat?imageDesc1?imageDesc2;
siftDescriptor.compute(image1?keyPoint1?imageDesc1);
siftDescriptor.compute(image2?keyPoint2?imageDesc2);

//獲得匹配特征點,并提取最優(yōu)配對?????
FlannbasedMatcher?matcher;
vector?matchePoints;
matcher.match(imageDesc1?imageDesc2?matchePoints?Mat());
sort(matchePoints.begin()?matchePoints.end());?//特征點排序????
//獲取排在前N個的最優(yōu)匹配特征點??
vector?imagePoints1?imagePoints2;
for?(int?i?=?0;?i? {
imagePoints1.push_back(keyPoint1[matchePoints[i].queryIdx].pt);
imagePoints2.push_back(keyPoint2[matchePoints[i].trainIdx].pt);
}

//獲取圖像1到圖像2的投影映射矩陣,尺寸為3*3??
Mat?homo?=?findHomography(imagePoints1?imagePoints2?CV_RANSAC);
Mat?adjustMat?=?(Mat_(3?3)?< Mat?adjustHomo?=?adjustMat*homo;

//獲取最強配對點在原始圖像和矩陣變換后圖像上的對應位置,用于圖像拼接點的定位??
Point2f?originallinkPoint?targetlinkPoint?basedImagePoint;
originallinkPoint?=?keyPoint1[matchePoints[0].queryIdx].pt;
targetlinkPoint?=?getTransformPoint(originallinkPoint?adjustHomo);
basedImagePoint?=?keyPoint2[matchePoints[0].trainIdx].pt;

//圖像配準??
Mat?imageTransform1;
warpPerspective(image01?imageTransform1?adjustMat*homo?Size(image02.cols?+?image01.cols?+?10?image02.rows));

//在最強匹配點的位置處銜接,最強匹配點左側是圖1,右側是圖2,這樣直接替換圖像銜接不好,光線有突變??
Mat?ROIMat?=?image02(Rect(Point(basedImagePoint.x?0)?Point(image02.cols?image02.rows)));
ROIMat.copyTo(Mat(imageTransform1?Rect(targetlinkPoint.x?0?image02.cols?-?basedImagePoint.x?+?1?image02.rows)));

namedWindow(“拼接結果“?0);
imshow(“拼接結果“?imageTransform1);
imwrite(“result1.jpg“?imageTransform1);
waitKey();
return?0;
}

//計算原始圖像點位在經(jīng)過矩陣變換后在目標圖像上對應位置??
Point2f?getTransformPoint(const?Point2f?originalPoint?const?Mat?&transformMaxtri)
{
Mat?originelP?targetP;
originelP?=?(Mat_(3?1)?< targetP?=?transformMaxtri*originelP;
float?x?=?targetP.at(0?0)?/?targetP.at(2?0);
float?y?=?targetP.at(1?0)?/?targetP.at(2?0);
return?Point2f(x?y);
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????113664??2018-01-15?11:28??imageStitching\Debug\imageStitching.exe

?????文件?????759616??2018-01-15?11:28??imageStitching\Debug\imageStitching.ilk

?????文件????2248704??2018-01-15?11:28??imageStitching\Debug\imageStitching.pdb

?????文件?????507274??2012-05-21?16:54??imageStitching\Debug\img1.jpg

?????文件?????500875??2012-05-21?16:54??imageStitching\Debug\img2.jpg

?????文件?????497205??2012-05-21?16:54??imageStitching\Debug\img3.jpg

?????文件????2467340??2018-01-15?11:36??imageStitching\Debug\result.jpg

?????文件?????317368??2012-04-25?04:25??imageStitching\Debug\tbb_debug.dll

?????文件???????4508??2016-10-23?20:58??imageStitching\imageStitching\Debug\BuildLog.htm

?????文件???????1074??2018-01-15?11:12??imageStitching\imageStitching\Debug\imageStitching.Build.CppClean.log

?????文件?????????45??2016-11-08?10:58??imageStitching\imageStitching\Debug\imageStitching.lastbuildstate

?????文件???????7554??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.log

?????文件???????1390??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\cl.command.1.tlog

?????文件??????38284??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\CL.read.1.tlog

?????文件????????766??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\CL.write.1.tlog

?????文件????????161??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\imageStitching.lastbuildstate

?????文件??????13280??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\link.command.1.tlog

?????文件??????35242??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\link.read.1.tlog

?????文件????????408??2018-01-15?11:28??imageStitching\imageStitching\Debug\imageStitching.tlog\link.write.1.tlog

?????文件??????????0??2016-11-08?10:58??imageStitching\imageStitching\Debug\imageStitching.unsuccessfulbuild

?????文件?????????67??2012-05-21?16:58??imageStitching\imageStitching\Debug\mt.dep

?????文件????2457971??2012-05-21?17:10??imageStitching\imageStitching\Debug\result.jpg

?????文件?????445806??2018-01-15?11:28??imageStitching\imageStitching\Debug\stitching.obj

?????文件?????560128??2018-01-15?11:28??imageStitching\imageStitching\Debug\vc120.idb

?????文件????1265664??2018-01-15?11:28??imageStitching\imageStitching\Debug\vc120.pdb

?????文件???????3757??2012-05-21?16:58??imageStitching\imageStitching\imageStitching.vcproj

?????文件???????1421??2016-10-23?20:58??imageStitching\imageStitching\imageStitching.vcproj.GuoDafeng-PC.Guo?Dafeng.user

?????文件???????1441??2012-05-22?16:58??imageStitching\imageStitching\imageStitching.vcproj.HP98402794308.Administrator.user

?????文件???????4962??2018-01-15?11:16??imageStitching\imageStitching\imageStitching.vcxproj

?????文件????????934??2018-01-15?11:16??imageStitching\imageStitching\imageStitching.vcxproj.filters

............此處省略53個文件信息

評論

共有 條評論