基于相关系数影像匹配实习报告 - 图文(3)
}
return FAILURE;
FILE* pSrcFileRight = NULL;
pSrcFileRight = fopen(srcFileRight,\if(pSrcFileRight == NULL) { printf(\原始右片影像打开失败\\n\ return FAILURE; }
//读取左片数据
BITMAPFILEHEADER bmfhLeft; BITMAPINFOHEADER bmihLeft;
fread(&bmfhLeft, sizeof(BITMAPFILEHEADER), 1, pSrcFileLeft); fread(&bmihLeft, sizeof(BITMAPINFOHEADER), 1, pSrcFileLeft); if(bmihLeft.biBitCount != 8) { printf(\只支持8位位图: 左片\\n\ return FAILURE; }
DWORD widthLeft = bmihLeft.biWidth; DWORD heightLeft = bmihLeft.biHeight;
DWORD _widthLeft = (widthLeft*8 + 31)/32*4; //saved widthLeft in files DWORD pixelCountLeft = _widthLeft*heightLeft;
fseek(pSrcFileLeft, 256*sizeof(RGBQUAD), SEEK_CUR); BYTE* pSrcBitsLeft = new BYTE[pixelCountLeft]; //new 1 fread(pSrcBitsLeft, sizeof(BYTE), pixelCountLeft, pSrcFileLeft); fclose(pSrcFileLeft); pSrcFileLeft = NULL; //读取右片数据
BITMAPFILEHEADER bmfhRight; BITMAPINFOHEADER bmihRight;
fread(&bmfhRight, sizeof(BITMAPFILEHEADER), 1, pSrcFileRight); fread(&bmihRight, sizeof(BITMAPINFOHEADER), 1, pSrcFileRight); if(bmihRight.biBitCount != 8) { printf(\只支持8位位图: 右片\\n\ return FAILURE; }
DWORD widthRight = bmihRight.biWidth; DWORD heightRight = bmihRight.biHeight;
DWORD _widthRight = (widthRight*8 + 31)/32*4; //saved widthRight in files DWORD pixelCountRight = _widthRight*heightRight;
fseek(pSrcFileRight, 256*sizeof(RGBQUAD), SEEK_CUR); BYTE* pSrcBitsRight = new BYTE[pixelCountRight]; //new 2 fread(pSrcBitsRight, sizeof(BYTE), pixelCountRight, pSrcFileRight); fclose(pSrcFileRight); pSrcFileRight = NULL; //开始计算左片特征点 //计算左片的兴趣点存储于该vector中 vector
//计算该点对应的特征点 B = 0.0; D = 0.0; MaxR = 0.0; R = 0.0;
if (iter1->x < k || iter1->y < k || iter1->x > heightLeft - k || iter1->y > widthLeft - k) { cout << \ continue; }
//逐个搜索
//将左片小窗口内的数据拷贝//可先求出B,D for (i = 0; i < m_window3; ++i) { for(j = 0; j < m_window3 ; ++j) { //B = 小窗口所有像素灰度值求和 //D = ....................的平方再求和 B += pSrcBitsLeft[(i+iter1->y)*_widthLeft + (j+iter1->x)]; D += pSrcBitsLeft[(i+iter1->y)*_widthLeft + (j+iter1->x)] * pSrcBitsLeft[(i+iter1->y)*_widthLeft + (j+iter1->x)]; } }
Count4 = 0;
//逐个小窗口计算R
for (iter2 = FeaturePointRight.begin(); iter2 != FeaturePointRight.end(); ++iter2) {
if (iter2->x < k || iter2->y < k || iter2->x > heightRight - k || iter2->y > widthRight - k) { cout << \ continue; } A = 0.0; C = 0.0; E = 0.0; j = iter2->x; //i,j为中心点 i = iter2->y; j -= k; //i,j为顶点 i -= k; int centerX = j + k; int centerY = i + k; //这里的centerX,centerY就是右片某个小窗口的中心 //求A,C,E for (m = 0; m < m_window3; ++m) {
for(n = 0; n < m_window3 ; ++n) { //C = 左片小窗口所有像素灰度值求和 //E = ........................平方的求和 //A = 对应位置像素灰度直乘积之和 C += pSrcBitsRight[(i+m)*_widthRight + (j+n)]; E
pSrcBitsRight[(i+m)*_widthRight+(j+n)]*pSrcBitsRight[(i+m)*_widthRight+(j+n)]; A += pSrcBitsRight[(i+m)*_widthRight+(j+n)] * pSrcBitsLeft[(m+iter1->y)*_widthLeft + (n+iter1->x)]; } } double temp1 = D - B*B/m_window3/m_window3; double temp2 = E - C*C/m_window3/m_window3; if (temp1 != 0 && temp2 != 0) { R = (A - B*C/m_window3/m_window3) / sqrt(temp1*temp2); } else R = 0; if (R > MaxR) { MaxR = R; lMaxWidth = centerX; lMaxHeight = centerY; cout << R << endl; } } if (MaxR >= m_CoRelated) { MATCHEDPOINTS mp; mp.coefficient = MaxR; mp.x1 = iter1->x; mp.y1 = iter1->y; mp.x2 = lMaxWidth; mp.y2 = lMaxHeight; MatchedPoints.push_back(mp); } } //保存结果位图
+=
DrawCross(pSrcBitsLeft, pSrcBitsRight, MatchedPoints, _widthLeft, _widthRight, pixelCountLeft, pixelCountRight); SaveBand(widthLeft, heightLeft, _widthLeft*heightLeft, 8, pSrcBitsLeft, dstFileLeft); SaveBand(widthRight, heightRight, _widthRight*heightRight, 8, pSrcBitsRight, dstFileRight); //保存特征点列表 SaveList(MatchedPoints, txtFile); //clean up delete[] pSrcBitsLeft; delete[] pSrcBitsRight; delete[] pTemplate; pSrcBitsLeft = NULL; pSrcBitsRight = NULL; pTemplate = NULL; if (m_flag1 == 1) { ShellExecute(NULL, \ } return nRetCode; }
…… 此处隐藏:1891字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




