资源简介
由纯C实现的图像配准代码,安心下载,可以通过。

代码片段和文件信息
#include
#include “stdafx.h“
#include “math.h“
#include “memory.h“
#include “stdlib.h“
using namespace std;
void main()
{
CFile file;
CFile file1;
unsigned char *pHeader1;
unsigned char *pHeader2;
BITMAPFILEHEADER *pfHeader11;
BITMAPFILEHEADER *pfHeader21;
HLOCAL ppHeader1;
HLOCAL ppHeader2;
CString repStr;
if(!file.Open(“a.bmp“CFile::modeRead))
{
AfxMessageBox(“文件打开失败,请确认输入文件名正确!“);
return;
}
int totallength1=file.GetLength();
int fhSize1;
unsigned char *pfHeader1;
BITMAPINFOHEADER *pInfoHeader1;
ppHeader1=LocalAlloc(LHNDtotallength1);
pHeader1=(unsigned char *)LocalLock(ppHeader1);
if(pHeader1==NULL)
{
AfxMessageBox(“内存分配没成功!请重来“);
return;
}
fhSize1=file.Read(pHeader1totallength1);
if(fhSize1!=totallength1)
{
AfxMessageBox(“读取文件出错,请重来!“);
return;
}
pfHeader1=(unsigned char *)pHeader1;
pfHeader11=(BITMAPFILEHEADER*)pHeader1;
pInfoHeader1=(BITMAPINFOHEADER*)(pHeader1+sizeof(BITMAPFILEHEADER));
if(pfHeader11->bfType!=0x4d42)
{
AfxMessageBox(“该文件不是BMP文件,或文件已经损坏!“);
return;
}
cout< cout<biHeight<<“\n“;
cout<biWidth<<“\n“;
cout<bfOffBits<<“\n“;
file.Close();
if(!file.Open(“b.bmp“CFile::modeRead))
{
AfxMessageBox(“文件打开失败,请确认输入文件名正确!“);
return;
}
int totallength2=file.GetLength();
int fhSize2;
unsigned char *pfHeader2;
BITMAPINFOHEADER *pInfoHeader2;
ppHeader2=LocalAlloc(LHNDtotallength2);
pHeader2=(unsigned char *)LocalLock(ppHeader2);
if(pHeader2==NULL)
{
AfxMessageBox(“内存分配没成功!请重来“);
return;
}
fhSize2=file.Read(pHeader2totallength2);
if(fhSize2!=totallength2)
{
AfxMessageBox(“读取文件出错,请重来!“);
return;
}
pfHeader2=(unsigned char *)pHeader2;
pfHeader21=(BITMAPFILEHEADER*)pHeader2;
pInfoHeader2=(BITMAPINFOHEADER*)(pHeader2+sizeof(BITMAPFILEHEADER));
if(pfHeader21->bfType!=0x4d42)
{
AfxMessageBox(“该文件不是BMP文件,或文件已经损坏!“);
return;
}
cout< cout<biHeight<<“\n“;
cout<biWidth<<“\n“;
cout<bfOffBits<<“\n“;
file.Close();
int width1=pInfoHeader1->biWidth;
int width2=pInfoHeader2->biWidth;
int height1=pInfoHeader1->biHeight;
int height2=pInfoHeader2->biHeight;
float base[500] image[298][500];
for(int a=0;a<=499;a++)
{
base[a]=(float)pHeader1[(60+a)*width1-1+pfHeader11->bfOffBits]/(pHeader1[(60+a)*width1-1-20+pfHeader11->bfOffBits]+1);
}
for(int b=0;b<297;b++)
{
for(int c=0;c<=499;c++)
{
image[b][c]=(float)pHeader2[(60+c)*width2+b+20+pfHeader21->bfOffBits]/(pHeader2[(60+c)*width2+b+pfHeader21->bfOffBits]+1);
}
}
float err[370];
for(int k=0;k<=width2/2;k++)
{
err[k]=0;
for(int d=0;d<=499;d++)
{
err[k]=err[k]+(image[k][d]-base[d])*(image[k][d]-base[d])/1000;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 378598 2005-06-29 11:59 mosaic\a.bmp
文件 361658 2005-06-29 11:58 mosaic\b.bmp
文件 581878 2012-01-09 13:47 mosaic\c.bmp
文件 378598 2005-06-29 11:59 mosaic\Debug\a.bmp
文件 361658 2005-06-29 11:58 mosaic\Debug\b.bmp
文件 10080 2011-12-07 14:19 mosaic\Debug\BuildLog.htm
文件 581878 2011-11-28 13:23 mosaic\Debug\c.bmp
文件 1839104 2011-12-07 14:19 mosaic\Debug\jie.exe
文件 406 2011-12-07 14:19 mosaic\Debug\jie.exe.em
文件 472 2011-12-07 14:19 mosaic\Debug\jie.exe.em
文件 381 2011-12-07 14:19 mosaic\Debug\jie.exe.intermediate.manifest
文件 5875904 2011-12-07 14:19 mosaic\Debug\jie.ilk
文件 354923 2011-12-07 14:19 mosaic\Debug\jie.obj
文件 11635712 2011-12-07 14:19 mosaic\Debug\jie.pdb
文件 69 2011-12-07 14:19 mosaic\Debug\mt.dep
文件 773120 2011-12-07 14:19 mosaic\Debug\vc90.idb
文件 765952 2011-12-07 14:19 mosaic\Debug\vc90.pdb
文件 4466 2011-11-27 12:16 mosaic\jie.cpp
文件 3397 2007-07-06 13:35 mosaic\jie.dsp
文件 529 2007-07-06 13:35 mosaic\jie.dsw
文件 23235584 2012-01-09 13:48 mosaic\jie.ncb
文件 48640 2007-07-06 13:35 mosaic\jie.opt
文件 1199 2007-07-06 13:27 mosaic\jie.plg
文件 871 2011-12-07 14:18 mosaic\jie.sln
..A..H. 9728 2012-01-09 13:48 mosaic\jie.suo
文件 4805 2011-11-27 09:50 mosaic\jie.vcproj
文件 1427 2012-01-09 13:48 mosaic\jie.vcproj.B04KILE5DW7IU1U.Administrator.user
文件 616 2001-08-24 17:52 mosaic\StdAfx.cpp
文件 1054 1999-09-13 13:24 mosaic\StdAfx.h
目录 0 2011-12-07 14:19 mosaic\Debug
............此处省略4个文件信息
相关资源
- pano2vr全景图制作教程
- ArcGiS手把手教程三——配准和矢
- 一种机载LiDAR和车载LiDAR点云的自动配
- 基于带有边缘信息的互信息最大化的
- 基于柱面的360度全景图像拼接融合
- 利用OpenCV中的Stitcher类实现全景图像拼
- ICP+NDT点云配准
- icp三维点云配准文件
- 论文研究-改进的基于SIFT和RANSAC的图像
- 几个比较好的图像配准
- 图像配准和三维重建应用程序
- GA+ICP代码
- 可见光与红外图像配准融合
- 信创产业深度研究:204页报告深度解
-
fast desc
riptors点云粗配准配准论文, - 使用GIS ArcMap将图片格式的地图矢量化
- ITK入门教程_医学图像分割与配准_高清
- 一个简单的iOS全景图
- 点云配准4pcs算法
- 医学图像分割与配准(ITK实现 全2册)
- 图像配准 与 图像比对论文
- 基于互信息的图像配准
- 基于互信息图像配准
- 图像配准的一本好书:我已经从头到
- 医学图像分割配准ITK初步分册1、2
- autostitch64 多幅无序图像自动排序,配
- 图像配准资料-文献综述英文
- blender生成全景图脚本
- three.js+photo-sphere-viewer.js 全景场景切换
- 信创产业深度研究:204页报告深度解
评论
共有 条评论