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

  • 大小: 24.87MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-30
  • 語言: C/C++
  • 標簽: MFC??圖像拼接??

資源簡介

使用MFC框架實現圖像的拼接,在vs2010平臺上,使用OpenCV庫

資源截圖

代碼片段和文件信息

//?AddImageDlg.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“my_mfc.h“
#include?“AddImageDlg.h“
#include?“afxdialogex.h“
#include?“cv.h“
#include?“highgui.h“
#include?“CvvImage.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?“matcher_surf.h“

using?namespace?std;
using?namespace?cv;?

IMPLEMENT_DYNAMIC(CAddImageDlg?CDialogEx)

CAddImageDlg::CAddImageDlg(CWnd*?pParent?/*=NULL*/)
:?CDialogEx(CAddImageDlg::IDD?pParent)
{

}

CAddImageDlg::~CAddImageDlg()
{
}

void?CAddImageDlg::DoDataExchange(CDataExchange*?pDX)
{
CDialogEx::DoDataExchange(pDX);
}
//融合函數實現
Mat?CAddImageDlg::surf_fusion(Mat?imleft?Mat?imright)/*
???imleft:左側的圖像
???imright:右側的圖像
???返回值是Mat類型
???*/
{
Mat?dst?=?Mat(imright.rowsimright.colsimright.type());
int?channle?=?imright.channels();
for(int?j?=?0;j? {???//?行定位
uchar?*data?=dst.ptr(j); //?最終要得到的拼接圖
uchar?*data2?=?imleft.ptr(j); //?左圖
uchar?*datar?=?imright.ptr(j); //?單應變換后(右圖)
for?(int?i=0q?=0;i? {

if?(i { //只在左圖部分
data[i*channle+0]?=?data2[i*channle+0];
data[i*channle+1]?=?data2[i*channle+1];
data[i*channle+2]?=?data2[i*channle+2];
q++; ?//?進入右圖的標記
}
else?if(i { //在左圖也在右圖部分
float?overlapwidth?=?float(imleft.cols?-?q); ?//?重疊區域的寬度
float?overlapratio?=?float(i-q); ?//?當前位置的重疊比例
float?thr?=?overlapratio/overlapwidth; ?//?閾值
data[i*channle+0]?=?(1-thr)?*?data2[i*channle+0]?+?thr?*?datar[i*channle+0];
data[i*channle+1]?=?(1-thr)?*?data2[i*channle+1]?+?thr?*?datar[i*channle+1];
data[i*channle+2]?=?(1-thr)?*?data2[i*channle+2]?+?thr?*?datar[i*channle+2];
}
else?if(i>=imleft.cols)
{ //只在右圖部分
data[i*channle+0]?=?datar[i*channle+0];
data[i*channle+1]?=?datar[i*channle+1];
data[i*channle+2]?=?datar[i*channle+2];
}

}
}
return?dst;
}

//surf匹配函數的實現

int?CAddImageDlg::entry_surf(Mat?image1Mat?image2)
{
//準備匹配
RobustMatcher?rmatcher;
Ptr?det=?new?SurfFeatureDetector(75);
PtrriptorExtractor>?desc?=?new?SurfDescriptorExtractor();
rmatcher.setFeatureDetector(det);
rmatcher.setDescriptorExtractor(desc);

//進行匹配這兩幅圖像
vector?matches;
vector?keypoints1?keypoints2;
Mat?fundemental?=?rmatcher.match(image1image2matches?keypoints1?keypoints2);

vector?points1?points2;//存放關鍵點
for?(vector::const_iterator?it=?matches.begin();it!=?matches.end();?++it)?//遍歷特征點的容器
{

?//?確定左側關鍵點的位置
?float?x=?keypoints1[it->queryIdx].pt.x;
?float?y=?keypoints1[it->queryIdx].pt.y;
?points1.

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-05-05?17:34??my_mfc\
?????目錄???????????0??2014-04-13?18:45??my_mfc\Debug\
?????文件?????6857728??2014-04-13?18:46??my_mfc\Debug\my_mfc.exe
?????文件????15240844??2014-04-13?18:46??my_mfc\Debug\my_mfc.ilk
?????文件????26905600??2014-04-13?18:46??my_mfc\Debug\my_mfc.pdb
?????目錄???????????0??2014-04-13?14:33??my_mfc\my_mfc\
?????文件????????5735??2014-04-08?15:33??my_mfc\my_mfc\AddImageDlg.cpp
?????文件?????????904??2014-04-08?15:24??my_mfc\my_mfc\AddImageDlg.h
?????文件????????7163??2012-08-09?11:41??my_mfc\my_mfc\CvvImage.cpp
?????文件????????2007??2012-08-09?11:41??my_mfc\my_mfc\CvvImage.h
?????目錄???????????0??2014-04-13?18:46??my_mfc\my_mfc\Debug\
?????文件??????658557??2014-04-13?14:35??my_mfc\my_mfc\Debug\AddImageDlg.obj
?????文件??????132076??2014-04-13?14:35??my_mfc\my_mfc\Debug\CL.read.1.tlog
?????文件????????1830??2014-04-13?14:35??my_mfc\my_mfc\Debug\CL.write.1.tlog
?????文件??????146090??2014-04-13?14:35??my_mfc\my_mfc\Debug\CvvImage.obj
?????文件????????3302??2014-04-13?14:35??my_mfc\my_mfc\Debug\cl.command.1.tlog
?????文件???????????2??2014-04-13?18:46??my_mfc\my_mfc\Debug\link-cvtres.read.1.tlog
?????文件???????????2??2014-04-13?18:46??my_mfc\my_mfc\Debug\link-cvtres.write.1.tlog
?????文件????????2506??2014-04-13?18:46??my_mfc\my_mfc\Debug\link.command.1.tlog
?????文件????????7694??2014-04-13?18:46??my_mfc\my_mfc\Debug\link.read.1.tlog
?????文件????????1086??2014-04-13?18:46??my_mfc\my_mfc\Debug\link.write.1.tlog
?????文件?????????694??2014-04-13?18:46??my_mfc\my_mfc\Debug\mt.command.1.tlog
?????文件?????????604??2014-04-13?18:46??my_mfc\my_mfc\Debug\mt.read.1.tlog
?????文件?????????434??2014-04-13?18:46??my_mfc\my_mfc\Debug\mt.write.1.tlog
?????文件?????????667??2014-04-13?18:46??my_mfc\my_mfc\Debug\my_mfc.exe.embed.manifest
?????文件?????????732??2014-04-13?18:46??my_mfc\my_mfc\Debug\my_mfc.exe.embed.manifest.res
?????文件?????????381??2014-04-13?18:46??my_mfc\my_mfc\Debug\my_mfc.exe.intermediate.manifest
?????文件??????????49??2014-04-13?18:46??my_mfc\my_mfc\Debug\my_mfc.lastbuildstate
?????文件????????3296??2014-04-13?18:46??my_mfc\my_mfc\Debug\my_mfc.log
?????文件??????154339??2014-04-13?14:35??my_mfc\my_mfc\Debug\my_mfc.obj
?????文件????33619968??2014-04-13?14:35??my_mfc\my_mfc\Debug\my_mfc.pch
............此處省略33個文件信息

評論

共有 條評論