




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于opencv和vs2008的图像拼接程序。我修改以后的,可以运行得到结果,但是要注意图片的路径。/ zhitu.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#include/#include#include#define min(a,b) (a) (b) ? (a) : (b)/RGB转成HSLvoid RGBtoHSL(BYTE R,BYTE G,BYTE B,double *H,double *S,double *L)double var_R,var_G,var_B;double var_Min,var_Max,del_Max;double h,s,l;double del_R,del_G,del_B;var_R=R/255.0; /RGB from 0 to 255var_G=G/255.0; var_B=B/255.0; var_Min=min(var_R,min(var_G,var_B); /Min. value of RGBvar_Max=max(var_R,max(var_G,var_B); /Max. value of RGBdel_Max=var_Max-var_Min; /Delta RGB valuel=(var_Max+var_Min)/2.0;if(del_Max=0) /This is a gray, no chroma.h=0.0; /HSL results from 0 to 1s=0.0;else /Chromatic data.if(l0.5) s=del_Max/(var_Max+var_Min);else s=del_Max/(2.0-var_Max-var_Min);del_R=(var_Max-var_R)/6.0)+(del_Max/2.0)/del_Max;del_G=(var_Max-var_G)/6.0)+(del_Max/2.0)/del_Max;del_B=(var_Max-var_B)/6.0)+(del_Max/2.0)/del_Max;if(var_R=var_Max) h=del_B-del_G;else if(var_G=var_Max) h=(1.0/3.0)+del_R-del_B;else if(var_B=var_Max)h=(2.0/3.0)+del_G-del_R;if (h1) h-=1.0;/修改图像的色调、饱和度和亮度*H=h;if(*H=1.0)*H=1;if(*H=1.0)*S=1;if(*S=1.0)*L=1;if(*L=0)*L=0;/把HSL转换回RGBdouble Hue_2_RGB(double v1,double v2,double vH) /Function Hue_2_RGBif(vH1) vH-=1.0;if(6.0*vH)1) return(v1+(v2-v1)*6*vH);if(2.0*vH)1) return(v2);if(3.0*vH)2) return(v1+(v2-v1)*(2.0/3.0)-vH)*6.0);return(v1);void HSLtoRGB(double H,double S,double L,BYTE *R,BYTE *G,BYTE *B)BYTE r,g,b;double var_1,var_2;if(S=0) /HSL from 0 to 1r=(BYTE)(L*255.0); /RGB results from 0 to 255g=(BYTE)(L*255.0);b=(BYTE)(L*255.0);elseif(L0.5) var_2=L*(1.0+S);else var_2=(L+S)-(S*L);var_1=2.0*L-var_2;r=(BYTE)(255*Hue_2_RGB(var_1,var_2,H+(1.0/3.0); g=(BYTE)(255*Hue_2_RGB(var_1,var_2,H);b=(BYTE)(255*Hue_2_RGB(var_1,var_2,H-(1.0/3.0);*R=r;*G=g;*B=b;int _tmain(int argc, _TCHAR* argv)/IMG为理想的拼接图int i,j,k;CvSize size=cvSize(1280,1024);IplImage* IMG=new IplImage; IMG=cvCreateImage(size,8,3);BYTE* RGB=new BYTE1280*1024*3;for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k=128&j=128&iimageData,768*768*3);IplImage* img2;img2=cvLoadImage(C:opencvpinjieDebugtu2.JPG,-1);BYTE* rgb2=new BYTE768*768*3;memcpy(rgb2,img2-imageData,768*768*3);/图像左边部分for(i=0;i768;i+)for(j=0;j256;j+)for(k=0;k3;k+)RGB(i+128)*1280*3+(j+128)*3+k=rgb1i*768*3+j*3+k;/图像右边部分for(i=0;i768;i+)for(j=512;j768;j+)for(k=0;k3;k+)RGB(i+128)*1280*3+(j+384)*3+k=rgb2i*768*3+j*3+k;/图像重叠部分for(i=0;i768;i+)for(j=256;j768;j+)for(k=0;kimageData,1280*1024*3);for (i=0;i1024;i+) for(j=0;j1280;j+) for (k=0;k3;k+)if(i=5504-6*j|i=896) rgb11i*1280*3+j*3+k=255;for(i=0;i1024;i+)for(j=0;j128;j+)for (k=0;k3;k+)rgb11i*1280*3+j*3+k=255;for(i=896;i1024;i+)for(j=0;j1280;j+)for (k=0;kimageData,1280*1024*3);for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k3;k+)if(i=6*j-2176|i=896|j=1152)rgb22i*1280*3+j*3+k=255; cvSetData(img22,rgb22,3840);*/img为实际未校正拼接图IplImage* img=new IplImage; img=cvCloneImage(IMG);BYTE* rgb=new BYTE1280*1024*3;/图像左边部分和右上角部分for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k=128&i=832.0/3.0-1.0/6.0*j&i=6.0*j-2176)|(i=832.0/3.0-1.0/6.0*j&i=64+1.0/6.0*j&i=5504-6*j)rgbi*1280*3+j*3+k=rgb11i*1280*3+j*3+k;/图像右边部分和左上角部分for (i=0;i1024;i+) for(j=0;j1280;j+)for (k=0;k3;k+)if (j=1152&i=64+1.0/6.0*j&i=5504-6*j)| (i=64+1.0/6.0*j&i=6*j-2176&i=832.0/3.0-1.0/6.0*j)rgbi*1280*3+j*3+k=rgb22i*1280*3+j*3+k; /图像中间重叠部分for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k=832.0/3.0-1.0/6.0*j&i=64+1.0/6.0*j&i=6.0*j-2176&i=5504-6*j&iimageData,1280*1024*3);for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k3;k+)if(i=896)rgb_hei*1280*3+j*3+k=255;double h,s,l;for(i=256;i896;i+)for(j=(int)(i/6.0+2176.0/6.0);j(int)(5504.0/6.0-i/6.0);j+) RGBtoHSL(rgb_hei*1280*3+j*3+2,rgb_hei*1280*3+j*3+1,rgb_hei*1280*3+j*3,&h,&s,&l); HSLtoRGB(h,s,l,&rgb_hei*1280*3+j*3+2,&rgb_hei*1280*3+j*3+1,&rgb_hei*1280*3+j*3);for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k=832.0/3.0-1.0/6.0*j&i=5504-6*j&i=64+1.0/6.0*j&i=6*j-2176&iimageData,1280*1024*3);for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k3;k+)if(i=896)rgb_zhi*1280*3+j*3+k=255;for (i=0;i1024;i+)for(j=0;j1280;j+)for (k=0;k=832.0/3.0-1.0/6.0*j&i=5504-6*j&i=64+1.0/6.0*j&i=6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025云南文山州富宁县妇幼保健院招聘3人笔试备考题库及答案解析
- 2024年四德教育实践活动总结(三篇)
- 2025下半年四川泸州市妇幼保健院面向社会招聘编外工作人员16人考试备考试题及答案解析
- 2025年证券质押借款协议范本
- 英语专业毕业论文前三章
- 2025年智能家居门禁系统授权代理销售合同
- 北京市东城区高三年级一模英语试题
- 2025大庆市企业执行《劳动合同法》状况的调研
- 2025年住宅电地暖安装工程合同
- 2025年医疗护理培训合作框架合同
- 顺丰快递合同
- 【家庭教育对幼儿性格形成的影响探究11000字(论文)】
- 《电化学原理与应用》课程教学大纲
- 新测绘法解读
- 热力发电厂课件04发电厂的热力系统
- 化疗药物外渗预防及处理-中华护理学会团体标准课件
- 高海拔作业引发的危险
- 甲醇安全知识培训
- (对外)出租车驾驶员安全行车常识培训课件
- 高效时间管理-提升个人工作效率的方案
- 公安心理健康知识讲座
评论
0/150
提交评论