數(shù)字攝影測量實習報告_第1頁
數(shù)字攝影測量實習報告_第2頁
數(shù)字攝影測量實習報告_第3頁
數(shù)字攝影測量實習報告_第4頁
數(shù)字攝影測量實習報告_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程編:

課程性:必修數(shù)字攝影量實習學院:專業(yè):

測繪學院測繪工程地點:

內班級:組號:姓名:學號:

201116110教師:

徐李

芳妍申麗麗20144月10

至20144月30目錄實習目的..................................................................................................................................1VirtuoZo實習過程..................................................................................................................11、數(shù)據準備以及初步處理....................................................................................................1新建測區(qū)....................................................................................................................1初步處理....................................................................................................................1進一步處理................................................................................................................2產品生成....................................................................................................................2DEM編輯.............................................................................................................................2DEM拼接.............................................................................................................................3圖像鑲嵌............................................................................................................................4IGS數(shù)字化測圖.................................................................................................................4空中三角測量....................................................................................................................5數(shù)據準備及預處理....................................................................................................5交互式編輯................................................................................................................6三角測量....................................................................................................................7DEM拼接和正射影像作.........................................................................................7三、GeoWay實習過程..................................................................................................................81、交互式編輯........................................................................................................................8新建工程并設置相關參數(shù)........................................................................................8生成內圖廓................................................................................................................8交互式編輯................................................................................................................92、空三加密..........................................................................................................................10數(shù)據準備及檢查......................................................................................................1控制網平差..............................................................................................................1精確匹配并查看匹配結果......................................................................................1刺點..........................................................................................................................13、立體測圖..........................................................................................................................12新建方案和數(shù)據準備..............................................................................................12初步處理..................................................................................................................12批處理......................................................................................................................1地物采集..................................................................................................................1DEM編輯...................................................................................................................1TIN網編輯...............................................................................................................1質量檢查..................................................................................................................1四、編程........................................................................................................................................17空間后方交會..................................................................................................................17特征匹配..........................................................................................................................21同名核線提取..................................................................................................................25五、心得體會................................................................................................................................28、實習的通過對數(shù)字攝影測軟件的操作,熟數(shù)字攝影測量系,掌握數(shù)字攝影測量軟件的作業(yè)程,加深對數(shù)字影測量過程的理。通過編程實習,加深對數(shù)字攝影測學相關方法原理理解,提高編程手能力。、VirtuoZo實過1、數(shù)據備以及步處理1)新建測區(qū)設置區(qū)參數(shù),新建模設置模型參數(shù)設置相機參數(shù)設置控制點數(shù)據導入影像數(shù)據,此,準備工作完;圖1

設置測區(qū)參數(shù)

圖2

設置模型參數(shù)圖3

導入控制點

圖4

導入相機參數(shù)圖5

導入影像2)內定向相對定絕對定向,至影像定向完成;0圖6

內定向圖7

相對定向相對定向做完之后統(tǒng)會自動進行絕定向,我們可以主界面查看絕對定向的結果:下是模型157-156絕對定向結果圖圖8157-156絕對定向果然后點擊處理核重采樣影像匹,做完這些就可準備生成產品;然后點擊產品,可生成需要的產品如DEM,DOM,高線等;2、DEM輯由于生成的DEM含有房屋,樹木等地物,所以并不是真意義上的數(shù)字高程模型,而應該DTM(數(shù)字表模型下圖:1圖9

數(shù)字表面模型圖中的紅色方框所圍的可以很容易出來是房屋而不地形。所以需要對上上述DEM進行編輯,生成正真意義上的DEM。擊“高級DEM輯入DEM編輯界面。圖10

編輯后的DEM圖中的紅色部分就我們編輯的范圍經過編輯后加載DEM顯示立體圖,可以看出其中的房高度已經貼合地了。3、DEM接由于每一個DEM只是兩張影像形成的,一測區(qū)有多個DEM,因需要經過拼接才能形成個測區(qū)的DEM。點“高級-->DEM拼接”出DEM拼接界面,加載需拼接的DEM,用標劃定拼接范圍接下來就可以執(zhí)拼接。2圖11圖12DEM拼接4、圖像嵌生成整個測區(qū)的DEM后,我們就可以生成整個測的正射影像了。次點擊“高級正射像制作”彈出制界面,選定DEM以相應的影像數(shù)據,然后執(zhí)行,結如圖圖13

拼接后的正射影像5、IGS字化測點擊“測圖IGS數(shù)字化圖”進入到數(shù)字化測界面,然后依次新建VZV矢量文件裝影像數(shù)據后通過紅綠眼睛對測區(qū)行矢量化。3圖14IGS數(shù)字化測圖圖15

矢量圖形6、空中角測量1)數(shù)據準備和圖像處理打開VirtuozoAAT,依次“建測區(qū)—設置參---引入影像”4圖16

輸入影像注意第二條航帶的項要選上相機旋。然后進行“內向航帶間偏移量”圖17

航帶間偏移量在圖中選取航帶間同名點,系統(tǒng)會動計算航帶間偏量設置好航帶間偏移量之后,始提取連接點,后運行自動挑點序。2)交互式編輯打開交互式編輯界,一次在每張圖上選點,保證每藍框周圍至少有3個點就行。圖18

選點

圖19

使用PATB平差然后加入控制點,要在測區(qū)中加入個控制點,然后用PATB進行平差,就可以使“預測控制點”測出其余的控制的位置,然后依次選出控制點坐。5圖20

控制點

圖21

被挑出的點可能一次選擇的點度不夠會有誤差限的點,顯示在圖21中帶有星號,然后對帶星號的點從新定,這樣直到沒有號的點。至此,交互式編輯完成。3)三角測量打開VirtuozoNT,打在AAT中建立的測區(qū),自動創(chuàng)建區(qū),之就可以使用批處理功進行自動化處理至此,三角測量成。圖224)DEM拼接和正射影制作

批處理界面按照前面的拼接步進行DEM拼接和正影像的制作,結果如:圖23DEM

圖24

正射影像63、GeoWay實習流程1、交互編輯1)新建工程,設相關參數(shù)(PS:對照表添加[LAYER][ENDSEC],然后SYM符號庫文件拷貝到C:\WINDOWS\GeoSymbol)圖1參數(shù)設置界面2)生成內圖廓線圖2生成圖廓線73)交互式地物編1、加載柵格圖層點擊柵格圖層,加載tfw數(shù)據,加入柵格圖,然后生成內圖廓,網線圖3加載柵格圖層勾選跨層輸入編輯設置激活圖層,后點擊相應地物設為輸入地物類。點、單線、雙線編點、線處理。懸掛和偽節(jié)點處理,具—檢查—懸掛節(jié)點進行偽節(jié)點檢測。批理—消除懸掛點偽節(jié)點能夠消除部分錯誤,不能消除的部分進行工編輯。圖4節(jié)點編輯后的圖5、面處理。新建屋對照表,在拓撲構時啟用房屋對照,然后8拓撲弧段預處理,后進行拓撲構建對于拓撲構建中遺漏的要手工處理后再次構建圖5拓撲構建后的圖2、GEOWAY空三加1)新建工程,數(shù)準備并檢查依次點擊“新建工選擇數(shù)據所在目錄初始構網”后點擊“生成成果生成單色點”用mashlab開.ply文件,查點云和構網結果圖6點云圖

圖7網形圖92)控制網平差“常規(guī)處理光束平差刪除殘差于域值的點自網平差重復上述步驟直到小殘差小于閾值60PS:每次刪除的點能太多,以防刪除過多正確點)3)精確匹配并查匹配結果點擊“常規(guī)處理確匹配一步匹配圖8圖94)刺點常規(guī)處理光束法平常規(guī)處理絕定向(GPS)刺點10圖10刺點界面5)空三結果圖113、立體圖(無機)1)新建方案和數(shù)準備影像管理加載影模型管理新建模型控制點編輯導入制點像點導入導入像點外方為元素導入入外方位元素2)初步處理內定向—相對定向絕對定向—核線采樣11圖12相對定向3)批處理圖134)地物采集新建加工工程,然依次進行高程點道路、房屋、比點、等高線的采集圖14地物采集結果5)DEM編輯點線處理采集特線處理—選擇特征線理面處理—自適應內,量測點內插局置平、水域處理12圖15DEM編輯前6)TIN網處理

圖16DEM編輯后圖17編輯前

圖18編輯后13圖19編輯后7)質量檢查1、設置質檢方案制作方案—加入工作案圖20檢查報告

圖21方案設置2、新建檢查任務指定目錄到數(shù)據所在錄。然后自動檢錯誤并查看錯誤,然后對量圖進行修改14圖22編輯前

圖23編輯后圖24編輯前

圖25編輯后15四、程內1、單像間后方會#include"hfjhdialog.h"#include<opencv.hpp>#include<vector>#include<string>#include<fstream>#include<iostream>#include<QFileDialog>usingnamespaceHFJHDialog::HFJHDialog(QWidget*parent):QDialog(parent),ui(newUi::HFJHDialog){ui->setupUi();char*title=空間后方交會;QStringqtitleQString::fromLocal8Bit(title);setWindowTitle(qtitle);ui->textBrowser->setText("---------------HFJH--------------"http://焦距單位pixelfx=4547.99665;fy=4547.87373;//內方位元素pixel0=47.48571;0=12.02756;//畸變參數(shù)k1=-5.00793e-009;k2=1.83462e-016;p1=-2.24419e-008;p2=1.76820e-008;//初始值Xs0=4300.0;Ys0=-150.0;Zs0=-300.0;//單位mmphi0=0.0;omega0=0.0;kappa0=0.0;//單位r}HFJHDialog::~HFJHDialog(){deleteui;}//讀取像點坐標intHFJHDialog::readxy(string{intindex=//path="F:\\我的課程\數(shù)字攝影測影像數(shù)據\\后方交會\像點坐標txt";ifstreamfil;fil.open(path);if(!fil){char*log=打開像點文件失敗<<"ui->textBrowser->append(QString::fromLocal8Bit(log));return-1;}xytmp;while(!fil.eof()){fil>>tmp.index>>tmp.x>>tmp.y;ui->textBrowser->append(QString(x:%2y:%3").arg(index).arg(tmp.x).arg(tmp.y));index++;pic.push_back(tmp);}fil.close();return0;}//讀取物方點坐標intHFJHDialog::readXYZ(string{intindex=16ifstreamfil;fil.open(path);if(!fil){char*log=打開控制點文件失敗<<";ui->textBrowser->append(QString::fromLocal8Bit(log));return-1;}XYZtmp;stringhead;for(i=0;i<++i){fil>>head;}while(!fil.eof()){fil>>tmp.index>>tmp.X>>tmp.Y>>tmp.Z;ui->textBrowser->append(QString(X:%2Y:%3Z:%3").arg(index).arg(tmp.X).arg(tmp.Y).arg(tmp.Z));index++;obj.push_back(tmp);}fil.close();return0;}//讀取相機參數(shù)文件intHFJHDialog::readcamera(string{intindex=//path="F:\\我的課程\數(shù)字攝影測影像數(shù)據\\后方交會\像點坐標txt";ifstreamfil;fil.open(path);if(!fil){char*log=打開相機文件失敗<<"ui->textBrowser->append(QString::fromLocal8Bit(log));return-1;}fil.close();return0;}//空間后方交會算法體函數(shù)voidHFJHDialog::HFJH(){//結果值doubleXs=Xs0,Ys=Ys0,Zs=Zs0;//定義doubleomega=omega0,kappa=kappa0;//定義doublex,y,X,Y,Z;//定義X,Y,Zdoublea1,a2,a3,b1,b2,b3,c1,c2,c3;doubleX_,Y_,Z_;doublea11,a12,a13,a14,a15,a16;doublea21,a22,a23,a24,a25,a26;doublelx,ly;doubler_r,dy;cv::MatL,dX;//,A0,A1;//迭代終止閾值doublee=/206265;//單位權中誤差doublem0;intindex=//求取主點坐標doubleW=5344.0;doubleH=4008.0;0=W/2x0;0=H/2y0;do{for(size_t=0;ipic.size();{17=pic[i].x;=pic[i].y;=0;=0;=0;for(size_t=0;j<obj.size();{if(obj[j].indexpic[i].index){=obj[j].X;=obj[j].Y;=obj[j].Z;break}}if(abs(x)1){char*arg1"像點";char*arg2"沒有找到對應的制點";ui->textBrowser->append(QString().arg(QString::fromLocal8Bit(arg1)).arg(pic[i].index).arg(QString::fromLocal8Bit(arg2)));continue}//求觀測值的改正r_r=(x-x0)*(xx0)+(y-y0)*(yy0);dx=(x-x0)*(k1*r_r+k2*r_r*r_r)+p1*(r_r+2*(x-x0)*(x-x0))-2*p2*(xx0)*(y-y0);dy=-(y-y0)*(k1*r_rk2*r_r*r_r)p2*(r_r2*-y0)*(y-y0))-2*p1*(xx0)*(y-y0);//經過畸變改正后的點坐標觀測值=(x-x0)dx;=-(y-y0)dy;//求矩陣各元素的值a1=cos(phi)*cos(kappa)sin(phi)*sin(omega)*sin(kappa);a2=-cos(phi)*sin(kappa)sin(phi)*sin(omega)*cos(kappa);3=-sin(phi)*cos(omega);1=cos(omega)*sin(kappa);b2=cos(omega)*cos(kappa);3=-sin(omega);1=sin(phi)*cos(kappa)cos(phi)*sin(omega)*sin(kappa);c2=-sin(phi)*sin(kappa)cos(phi)*sin(omega)*cos(kappa);c3=cos(phi)*cos(omega);//求X,Y_,_=a1*(XXs)+b1*(YYs)+c1*(ZZs);_=a2*(XXs)+b2*(YYs)+c2*(ZZs);_=a3*(XXs)+b3*(YYs)+c3*(ZZs);//求x,的近似值doublex_=-fx*X_Z_;doubley_=-fy*Y_Z_;//求矩陣各元素的值lx=x-x_;ly=y-y_;//求矩陣各元素的值a11=1/Z_*(a1*fxa3*x);a12=1/Z_*(b1*fxb3*x);a13=1/Z_*(c1*fxc3*x);a21=1/Z_*(a2*fya3*y);a22=1/Z_*(b2*fyb3*y);a23=1/Z_*(c2*fyc3*y);a14=y*sin(omega)-(x/fx*(x*cos(kappa)-y*sin(kappa))+fx*cos(kappa))*cos(omega);a15=-fx*sin(kappa)x/fx*(x*sin(kappa)y*cos(kappa));a16=y;a24=-x*sin(omega)-(y/fy*(x*cos(kappa)-y*sin(kappa))-fy*sin(kappa))*cos(omega);a25=-fy*cos(kappa)y/fy*(x*sin(kappa)y*cos(kappa));a26=-x;//合成矩陣doublea[12]{a11,a12,a14,a15,a16,a21,a23,a24,a25,18a26};doublel[2]{lx,};cv::MatAi(2,CV_64FC1,a);cv::MatLi(2,CV_64FC1,l);A.push_back(Ai);L.push_back(Li);}//計算dX=(A.t()A).inv()A.t()*s+=dX.at<>(0,0);s+=dX.at<>(1,0);s+=dX.at<>(2,0);phi+=dX.at<>(3,0);omega+=dX.at<>(4,0);kappa+=dX.at<>(5,0);ui->textBrowser->append(QString(%2%3%4%5%6%7").arg(index).arg(dX.at<>(0)).arg(dX.at<double>(1)).arg(dX.at<double>(2)).arg(dX.at<>(3)).arg(dX.at<>(4)).arg(dX.at<>(5)));index++;cv::MatM0=(A*dXL).t()*(A*dXL);m0=sqrt(M0.at<>(0)/(2*pic.size()6));A.release();L.release();if(index>100)}while(fabs(dX.at<double>(0))>0.001||fabs(dX.at<>(3))>e);ui->textBrowser->append(QString());ui->textBrowser->append(QString(Ys:%2Zs:%3phi:%4omega:%5kappa:%6").arg(Xs).arg(Ys).arg(Zs).arg(phi).arg(omega).arg(kappa));char*log=單位權中誤差:;ui->textBrowser->append(QString().arg(QString::fromLocal8Bit(log)).arg(m0));}voidHFJHDialog::on_pushButton_clicked(){QStringqpathQFileDialog::getOpenFileName();stringpathqpath.toLocal8Bit();if(readxy(path)-1){char*log"讀取像點坐標誤XXXXXX";ui->textBrowser->append(QString::fromLocal8Bit(log));return;}char*log=讀取像點坐標結束OOOOO"ui->textBrowser->append(QString::fromLocal8Bit(log));ui->lineEdit->setText(qpath);}voidHFJHDialog::on_pushButton_2_clicked(){QStringqpathQFileDialog::getOpenFileName();stringpathqpath.toLocal8Bit();if(readXYZ(path)-1){char*log=讀取控制點坐標錯誤XXXXX"ui->textBrowser->append(QString::fromLocal8Bit(log));return;}char*log=讀取控制點坐標結束OOOOO"ui->textBrowser->append(QString::fromLocal8Bit(log));ui->lineEdit_2->setText(qpath);}voidHFJHDialog::on_pushButton_4_clicked(){HFJH();}voidHFJHDialog::on_pushButton_5_clicked(){HFJHDialog::close();}19圖1控件后方交會2、特征配#include"match.h"#include<opencv.hpp>#include<iostream>#include<fstream>usingnamespaceusingnamespace//構造函數(shù)Mmatch::Mmatch(length,intflag){Mlength=length;Mflag=flag;match();}//構建子窗體voidMmatch::findsubwin(MatMat&dst,intintj,intlength){dst=Mat::zeros(length,CV_8UC1);intxl=ilength/intyl=jlength/intxr=ilength/intyr=jlength/intxdl=intydl=intxdr=length1;intydr=length1;if(xl<0){xdl=0-xl;xl=0;}if(yl<{ydl=0-yl;yl=0;}if(xr>=src.cols){xdr=(dst.cols(xr-(src.cols-1));20xr=src.cols1;}if(yr>=src.rows){ydr=(dst.rows-1)(yr-(src.rows-1));yr=src.rows1;}MatsROI=src(Range(yl+1,Range(xl+1,xr+1));sROI.copyTo(dst(Range(ydl+1,Range(xdl+1,xdr+1)));}//匹配算法主體函數(shù)intMmatch::match(){stringpath1"E:\\我的程\\數(shù)字攝測量影像數(shù)據\匹配\\1BAK.bmp"stringpath2"E:\\我的程\\數(shù)字攝測量影像數(shù)據\匹配\\2BAK.bmp"stringpath"E:\\我的課程\數(shù)字攝影量影像數(shù)據\\匹配\\1BAK_points.txt"ifstreamfil;vector<point>pointssrc;fil.open(path);if(!fil){cout<<"readpoints<<endl;return-1;}intindex;pointpt;while(!fil.eof()){fil>>indexpt.xpt.y;pointssrc.push_back(pt);}Matsrc1=imread(path1,CV_LOAD_IMAGE_GRAYSCALE);Matsrc2=imread(path2,CV_LOAD_IMAGE_GRAYSCALE);if(src1.empty()src2.empty()){cout<<"readimage<<endl;return-1;}vector<point>pointsdst;Matsubwinsrc,subwindst;for(inti0;i<pointssrc.size();{pointtpoint;findsubwin(src1,subwinsrc,pointssrc[i].x,pointssrc[i].y,Mlength);findsamename(src2,subwinsrc,tpoint);pointsdst.push_back(tpoint);}Matdst1,dst2;cvtColor(src1,dst1,CV_GRAY2RGB);cvtColor(src2,dst2,CV_GRAY2RGB);CvFontfont;cvInitFont(&font,CV_FONT_HERSHEY_PLAIN,1.0,1.0);for(inti0;i<pointssrc.size();{charcind[5];sprintf(cind,,i+1);line(dst1,Point(pointssrc[i].x-3,pointssrc[i].y-3),Point(pointssrc[i].x+3,pointssrc[i].y+3),CV_RGB(255,0,0));line(dst1,Point(pointssrc[i].x-3,pointssrc[i].y+3),Point(pointssrc[i].x+3,pointssrc[i].y-3),CV_RGB(255,0));putText(dst1,cind,Point(pointssrc[i].x+4,pointssrc[i].y+5),CV_FONT_HERSHEY_PLAIN,1.0,CV_RGB(255,0,0));line(dst2,Point(pointsdst[i].x-3,pointsdst[i].y-3),Point(pointsdst[i].x+3,pointsdst[i].y+3),CV_RGB(255,0,0));line(dst2,Point(pointsdst[i].x-3,pointsdst[i].y+3),Point(pointsdst[i].x+3,pointsdst[i].y-3),CV_RGB(255,0,0));putText(dst2,cind,Point(pointsdst[i].x+4,pointsdst[i].y+5),CV_FONT_HERSHEY_PLAIN,1.0,CV_RGB(255,0,0));}21imshow(,dst1);imshow(,dst2);waitKey();return0;}//尋找同名點函數(shù)voidMmatch::findsamename(MatMat&subwin,point{Matsubwind;intlengthsubwin.cols;inthelf_lengthlength2;intflag=Mflag;floatrelate0;for(inti0;i<src.cols;{for(intj0;j<src.rows;{findsubwin(src,subwind,j,length);if(i==helf_lengthj==helf_length){relate=compare(subwin,flag);dst.x=dst.y=}floattmp=compare(subwin,flag);if(tmp>relate){relate=tmp;dst.x=dst.y=}}}}//特征向量比較函數(shù)floatMmatch::compare(MatMat&subwind,flag){floatsum=0.0;floatavg10.0,avg20.0;floatsdv10.0,sdv20.0;intnr=subwin.rows;intnc=subwin.cols;if(subwin.isContinuous()&&subwind.isContinuous()){nc=nc*nr;nr=1;}switch(flag){case1://關函數(shù)法for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{sum+=(float)(*(subwin_ptr+j)*(*(subwind_ptr+j)));}}returnsum;case2:協(xié)方差函數(shù)法for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{avg1+=*(subwin_ptr+j);avg2+=*(subwind_ptr+j);22}}avg1=avg1(subwin.rows*subwin.cols);avg2=avg2(subwind.rows*subwind.cols);for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{sum+=(*(subwin_ptr+j)-avg1)*(*(subwind_ptr+j)-avg2);}}returnsum;case3:相關系數(shù)法for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{avg1+=*(subwin_ptr+j);avg2+=*(subwind_ptr+j);}}avg1=avg1(subwin.rows*subwin.cols);avg2=avg2(subwind.rows*subwind.cols);for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{sum+=(*(subwin_ptr+j)-avg1)*(*(subwind_ptr+j)-avg2);}}for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{sdv1+=(*(subwin_ptr+j)-avg1)*(*(subwin_ptr+j)-avg1);sdv2+=(*(subwind_ptr+j)-avg2)*(*(subwind_ptr+j)-avg2);}}sum=sum/sqrtf(sdv1*sdv2);returnsum;case4:差平方和法for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{sum+=(float)(*(subwin_ptr+j)-*(subwind_ptr+j))*(*(subwin_ptr+j)-*(subwind_ptr+j));}}return-sum;case5:差絕對值和法for(inti0;i<nr;{uchar*subwin_ptrsubwin.ptr<uchar>(i);uchar*subwind_ptr=subwind.ptr<uchar>(i);for(intj0;j<nc;{sum+=(float)abs(*(subwin_ptr+j)-*(subwind_ptr+j));}23}

}return-sum;defaultbreak}returnsum;圖2相關函數(shù)

圖3協(xié)方差圖4相關系數(shù)

圖5差平方和圖6差絕對值3、同名線提取#include"hx.h"#include<opencv.hpp>#include<vector>#include<string>#include<fstream>#include<iostream>#include<QFileDialog>usingnamespace//構造函數(shù)HXDialog::HXDialog(QWidget*parent):QDialog(parent),ui(newUi::Dialog){ui->setupUi();}HXDialog::~HXDialog(){}voidHXDialog::on_pushButton_clicked(){path1=QFileDialog::getOpenFileName(ui->lineEdit->setText(path1);24}voidHXDialog::on_pushButton_2_clicked(){path2=QFileDialog::getOpenFileName();ui->lineEdit_2->setText(path2);}voidHXDialog::on_pushButton_3_clicked(){tpath1=QFileDialog::getOpenFileName(ui->lineEdit_3->setText(tpath1);}voidHXDialog::on_pushButton_4_clicked(){tpath2=QFileDialog::getOpenFileName(ui->lineEdit_4->setText(tpath2);}//讀取同名點數(shù)據intHXDialog::readxy(stringp2){intindex=ifstreamfil;xytmp;inthead;//讀取圖像的像點坐標fil.open(p1);if(!fil){cout<<"readerror"<<endl;return-1;}fil>>head;while(!fil.eof()){fil>>tmp.indextmp.x>>tmp.y;cout<<"read"<<index<<":"<<tmp.index<<""<<tmp.x<<""<<tmp.y<<endl;index++;pic1.push_back(tmp);}fil.clear();fil.close();//讀取圖像的像點坐標index=fil.open(p2);if(!fil){cout<<"readerror"<<endl;return-1;}fil>>head;while(!fil.eof()){fil>>tmp.indextmp.x>>tmp.y;cout<<"read"<<index<<":"<<tmp.index<<""<<tmp.x<<""<<tmp.y<<endl;index++;pic2.push_back(tmp);}cout<<"read<<endl;fil.close();cout<<"closeobjfile..."endl;return0;}classfindxy{publicfindxy(index){indindex;}intind;booloperator(HXDialog::xy&pt){25returnindpt.index;}};//同名核線算法主函voidHXDialog::HX(){stringp1=tpath1.toLocal8Bit();stringp2=tpath2.toLocal8Bit();//讀取同名點坐標readxy(p1,p2);//初始值p1=path1.toLocal8Bit();p2=path2.toLocal8Bit();cv::Matimg1cv::imread(p1);cv::Matimg2cv::imread(p2);cv::Matcv::Matif(img1.empty()img2.empty()){cout<<"readimage<<endl;return;}for(inti0;i<pic1.size();{doublex=pic1[i].x;doubley=pic1[i].y;doublex_=pic2[i].x;doubley_=pic2[i].y;cv::MattmpB(cv::Size(8,CV_64FC1);tmpB.at<>(0)=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論