日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

C语言中OpenCV怎样实现柱面投影

發(fā)布時(shí)間:2023/12/19 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 C语言中OpenCV怎样实现柱面投影 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

C語言中OpenCV怎樣實(shí)現(xiàn)柱面投影,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

前言

在做全景拼接的時(shí)候,為了保持圖片中的空間約束與視覺的一致性,需要進(jìn)行柱面投影,否則離中心圖像距離越遠(yuǎn)的圖像拼接后變形越大。

柱面投影公式為

實(shí)現(xiàn)代碼

針對(duì)彩色圖像

intmain()
{
	cv::Matimage1=cv::imread("images/1.jpg",1);
	if(!image1.data)
		return0;
	imshow("image1",image1);

	MatimgOut=Mat(image1.rows,image1.cols,CV_8UC3);
	floatw=image1.cols;
	floath=image1.rows;
	floatf=(w/2)/atan(PI/8);

	for(inti=0;i<image1.rows;i++)
	{
		for(intj=0;j<image1.cols;j++)
		{
			floatx=j;
			floaty=i;
			floatx1=f*atan((x-w/2)/f)+f*atan(w/(2.0f*f));
			floaty1=f*(y-h/2.0f)/sqrt((x-w/2.0f)*(x-w/2.0f)+f*f)+h/2.0f;

			intcol=(int)(x1+0.5f);//加0.5是為了四舍五入
			introw=(int)(y1+0.5f);//加0.5是為了四舍五入

			if(col<image1.cols&&row<image1.rows)
			{
				imgOut.at<Vec3b>(row,col)[0]=image1.at<Vec3b>(i,j)[0];
				imgOut.at<Vec3b>(row,col)[1]=image1.at<Vec3b>(i,j)[1];
				imgOut.at<Vec3b>(row,col)[2]=image1.at<Vec3b>(i,j)[2];
			}
		}
	}

	imshow("imgOut",imgOut);

	waitKey(0);
	return0;
}

實(shí)現(xiàn)效果

針對(duì)灰度圖像

cv::Matimage1=cv::imread("E:\\zcb_work\\2113\\pic2\\k.jpg",0);
	if(!image1.data)
		return0;
	imshow("image1",image1);

	cv::Matimage2=cv::imread("E:\\zcb_work\\2113\\pic2\\j.jpg",0);
	if(!image2.data)
		return0;
	imshow("image2",image2);

	MatimgOut1=Mat(image1.rows,image1.cols,CV_8UC1);
	imgOut1.setTo(0);
	MatimgOut2=Mat(image2.rows,image2.cols,CV_8UC1);
	imgOut2.setTo(0);
	
	floatw=image1.cols;
	floath=image1.rows;
	floatf=(w/2)/atan(PI/8);

	for(inti=0;i<image1.rows;i++)
	{
		for(intj=0;j<image1.cols;j++)
		{
			floatx=j;
			floaty=i;
			floatx1=f*atan((x-w/2)/f)+f*atan(w/(2.0f*f));
			floaty1=f*(y-h/2.0f)/sqrt((x-w/2.0f)*(x-w/2.0f)+f*f)+h/2.0f;

			intcol=(int)(x1+0.5f);//加0.5是為了四舍五入
			introw=(int)(y1+0.5f);//加0.5是為了四舍五入

			if(col<image1.cols&&row<image1.rows)
			{
				imgOut1.at<uchar>(row,col)=image1.at<uchar>(i,j);
				imgOut2.at<uchar>(row,col)=image2.at<uchar>(i,j);
				//imgOut.at<Vec3b>(row,col)[1]=image1.at<Vec3b>(i,j)[1];
				//imgOut.at<Vec3b>(row,col)[2]=image1.at<Vec3b>(i,j)[2];
			}
		}
	}

	imshow("imgOut1",imgOut1);
	imshow("imgOut2",imgOut2);

實(shí)現(xiàn)效果

原圖

柱面投影

用surf算法,特征檢測(cè),

合成這樣,呵呵呵,

總結(jié)

以上是生活随笔為你收集整理的C语言中OpenCV怎样实现柱面投影的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: jk美女又爽又黄视频 | 亚洲最大福利网站 | 成年人av在线播放 | 久草视频精品在线 | 国产在线麻豆 | 天天干夜夜爱 | 亚洲男人的天堂在线视频 | 久久久久久久久久久综合 | 黄色一级视频网站 | 成人午夜免费电影 | 激情网站在线观看 | 亚洲精品在线看 | 国产视频一区二区三区四区 | 国产黄色片在线观看 | 鲁大师私人影院在线观看 | 黄页嫩草| 亚洲天码中字 | 欧美一区二区三区成人 | 午夜精品久久久久久99热 | 91高清国产| 国偷自产视频一区二区久 | 曰韩在线 | 色呦呦在线视频 | 美女视频三区 | 女同性恋一区二区三区 | 午夜亚洲天堂 | 欧美精品网站 | 欧美男人天堂网 | 午夜影院福利社 | 国产玖玖在线 | 四虎在线播放 | 国产99久久久国产精品免费看 | 内射中出日韩无国产剧情 | 午夜鲁鲁 | 90岁肥老奶奶毛毛外套 | 亚洲欲妇 | 青青草免费看 | 亚洲一区二区三区播放 | 久久久久无码国产精品一区 | 91高潮大合集爽到抽搐 | 成 人 免费 黄 色 | 欧美性猛交xxxx乱大交 | 日日狠狠久久偷偷四色综合免费 | 一区二区欧美在线观看 | 日韩欧美亚洲在线 | 黄色小视频在线免费观看 | 制服丝袜在线一区 | 国产在线观看你懂的 | 国产伦精品一区 | 午夜不卡福利视频 | 亚洲av无一区二区三区 | 亚洲成年网 | 一区二区中文字幕 | 亚洲av毛片基地 | 国产女教师一区二区三区 | 久久久久亚洲av片无码下载蜜桃 | 国产欧美一区二区三区在线看蜜臀 | 麻豆视频国产精品 | av黄色片在线观看 | 午夜激情国产 | 1000部做爰免费视频 | 精品成人一区二区三区久久精品 | 亚洲天堂av在线免费观看 | 男女午夜视频 | 综合伊人久久 | 国产做爰高潮呻吟视频 | 女同久久另类69精品国产 | 国产欧美精品一区二区在线播放 | 操欧美老逼 | 亚洲国产成人精品视频 | 夫妻黄色片 | 麻豆影视 | 一级视频在线免费观看 | 久久毛片网 | 日韩精品一二三区 | 一及黄色大片 | 精品无码一区二区三区蜜臀 | 东北少妇不带套对白 | 色呦呦日韩精品 | 夜夜嗨av一区二区三区网页 | 午夜整容室 | 亚洲一区二区三区黄色 | 日日射天天操 | 国产成人手机视频 | 在线播放91 | 色婷婷九月 | 日日骚影院 | 中文字幕亚洲欧美日韩在线不卡 | 嫩草影院菊竹影院 | 天堂久久一区 | 日韩成人福利视频 | 成人免费看片' | 亚洲欧美中文日韩在线 | 亚洲人体视频 | 影音先锋成人资源 | 经典毛片 | 波多野结衣在线一区二区 | 欧亚一区二区 | 金瓶风月在线 |