资源简介
用于立体视觉匹配,采用基于窗口的SAD作为相关测度,窗口大小可以改变,程序采用C语言编写。

代码片段和文件信息
#include
#include
#include
#define w 384
#define h 288
#define DpMax 16
#define WinR 2
#define ff(ij) ip[(i)*w+(j)]
#define gg(ij) jp[(i)*w+(j)]
#define hh(ij) presult[(i)*w+(j)]
typedef unsigned char uchar;
int SAD(int aint bint cuchar * ipuchar *jp);
void Parallax(uchar * pluchar * pruchar * presult);
void main()
{
FILE * fp1* fp2* fp3;
uchar * pimgr* pimgl*pimgresult;
/*
**读取文件指针pimglpimgr
*/
pimgr=(uchar*)malloc(w*h*sizeof(uchar));
pimgl=(uchar*)malloc(w*h*sizeof(uchar));
pimgresult=(uchar*)malloc(w*h*sizeof(uchar));
fp1=fopen(“right.raw““rb“);
if(fp1==NULL)
{
printf(“打开文件right.raw失败/n“);
exit(0);
}
fp2=fopen(“left.raw““rb“);
if(fp2==NULL)
{
printf(“打开文件left.raw失败/n“);
exit(0);
}
fp3=fopen(“result1.raw““wb“);
if(fp3==NULL)
{
printf(“打开文件result1.raw失败/n“);
exit(0);
}
fread(pimgrw*hsizeof(uchar)fp1);
fread(pimglw*hsizeof(uchar)fp2);
Parallax(pimglpimgrpimgresult);
fwrite(pimgresult(w*h)sizeof(uchar)fp3);
fclose(fp1);
fclose(fp2);
fclose(fp3);
}
int SAD(int aint bint cuchar * ipuchar * jp)/*计算SAD函数*/
{
int ijsum=0;
int w1w2;
for(i=-WinR;i<=WinR;i++)
for(j=-WinR;j<=WinR;j++)
{
w1=(int)ff(i+aj+b);
w2=(int)gg(i+aj+c);
sum=sum+abs(w1-w2);
}
return(sum);
}
void Parallax(uchar * pluchar * pruchar * presult)/*画出视差图*/
{
int ijksadmind;
for(i=WinR;i for(j=WinR;j {
/*求出与对应点之间距离d*/
for(k=0;k {
if(k+j>=w)break;
sad=SAD(ijk+jprpl);
if(k==0)
{
min=sad;d=k;
}
else
{
if(sad {
min=sad;d=k;
}
}
}
/*将距离d作为灰度值输入到图result1.raw中*/
hh(ij)=(uchar)(d*(int)(256/DpMax));
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1909 2018-06-02 22:23 alterwindow.cpp
- 上一篇:CAN总线源代码c语言
- 下一篇:人工智能——水壶问题
相关资源
- C语言编程常见问题解答.pdf
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
评论
共有 条评论