




已阅读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广东深圳九州光电子技术有限公司招聘生产主管等2人考前自测高频考点模拟试题及参考答案详解一套
- 2025内蒙古工业大学招聘博士学位事业编制人员20人考前自测高频考点模拟试题及一套答案详解
- 2025包头市东河区机关所属事业单位春季引进人才51人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年洛阳古墓博物馆人才引进招录专业技术人员2名考前自测高频考点模拟试题及参考答案详解1套
- 2025年随州市市场监督管理应急处置中心公开选调1名工作人员考前自测高频考点模拟试题及完整答案详解
- 2025年芜湖安徽工程大学硕士专职辅导员招聘8人模拟试卷及一套完整答案详解
- 东港区日照街道、石臼街道、秦楼街道2025年城市社区工作人员公开招聘备考考试题库附答案解析
- 2025广东深圳大学文化产业研究院张振鹏教授博士后招聘1人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025山东青岛董家口新材料科技发展有限公司招聘6人考试参考试题及答案解析
- 2025下半年四川凉山州考试招聘教师556人考试参考试题及答案解析
- 桥梁亮化工程施工方案
- 2024年中级注册安全工程师《安全生产法律法规》真题及答案
- 2025新外研社版英语七年级下单词表
- 社会网络分析课件
- 外科学-第三十六章-阑尾疾病
- 教科版科学四年级上册第一单元《声音》测试卷含答案(典型题)
- 肉桂课件讲解
- 高中化学教师培训课件
- 锲而不舍成功从不言败主题班会课件
- 公司商业模式的人工智能技术
- 初中科学 浙教版初中科学教材分析
评论
0/150
提交评论