资源简介
该算法分别实现了Debug版本和Release版本的调试。对原始算法做了进一步的改进,在速度和实现质量都有了很大的提高。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
IplImage* CensusTransform(IplImage *input_image int window_size)
{
CvSize image_size=cvGetSize(input_image);
int image_width=image_size.width;
int image_height=image_size.height;
//-----Create an image of size image_width and image_height fill it with zeros -----
IplImage *modified_image = NULL;
switch (window_size)
{
case 3:
modified_image = cvCreateImage(image_size IPL_DEPTH_8U 1);
cvSetZero(modified_image);
break;
case 5:
modified_image = cvCreateImage(image_size IPL_DEPTH_32S 1);
cvSetZero(modified_image);
break;
default:
printf(“window size must be 3 or 5!\n“);
exit(EXIT_FAILURE);
}
//-----------census变换---------------------------------
CvMat window;
int offset=(window_size-1)/2;
for(int j = 0; j < image_width - window_size; j++)
{
for(int i = 0; i < image_height - window_size; i++)
{
unsigned long census = 0;
double current_pixel=cvGetReal2D(input_imagei+offsetj+offset);
CvRect roi = cvRect(j i window_size window_size);
cvGetSubRect(input_image &window roi);
//CvScalar m = cvAvg(&window NULL);
for(int a = 0; a {
for(int b = 0; b < window_size; b++)
{
if(!(a==i+offset && b==j+offset))
census = census << 1;//左移1位
double temp_value = cvGetReal2D(&window a b);
if(temp_value < current_pixel)
census += 1;
}
}
cvSetReal2D(modified_image i+offset j+offset census);
}
}
return modified_image;
}
int main(int argcchar * const argv[])
{
char* filename=“im2.png“; //图片路径
IplImage* greyImage=cvLoadImage(filename0);
if (greyImage==NULL){cout << “No valid image input.“<
int window_size=3;
time_t tstarttend;
tstart=time(0);
IplImage* ctImage=CensusTransform(greyImagewindow_size);
tend=time(0);
cout << “It took “<< difftime(tend tstart) <<“ second(s).“<< endl;
cvShowImage(“greyImage“greyImage);
cvShowImage(“ctImage“ctImage);
//cvSaveImage(“D:\\My Documents\\Visual Studio 2008\\Projects\\census\\greyImage.jpg“greyImage);
//cvSaveImage(“D:\\My Documents\\Visual Studio 2008\\Projects\\census\\ctImage.jpg“ctImage);
cvWaitKey(0);
cvDestroyWindow(“greyImage“);
cvDestroyWindow(“ctImage“);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4189 2011-12-29 12:43 census c++\census\census.vcproj
文件 1427 2012-01-08 19:29 census c++\census\census.vcproj.EFAEA25E2B674A3.Administrator.user
文件 7600 2011-12-30 18:35 census c++\census\Debug\BuildLog.htm
文件 663 2011-12-29 13:21 census c++\census\Debug\census.exe.em
文件 728 2011-12-29 13:21 census c++\census\Debug\census.exe.em
文件 621 2011-12-30 18:35 census c++\census\Debug\census.exe.intermediate.manifest
文件 98114 2011-12-30 18:35 census c++\census\Debug\main.obj
文件 67 2011-12-30 18:35 census c++\census\Debug\mt.dep
文件 740352 2011-12-30 18:35 census c++\census\Debug\vc90.idb
文件 708608 2011-12-30 18:35 census c++\census\Debug\vc90.pdb
文件 2796 2012-01-08 19:29 census c++\census\main.cpp
文件 14511104 2012-01-08 19:29 census c++\census.ncb
文件 884 2011-12-29 10:36 census c++\census.sln
..A..H. 13824 2012-01-08 19:29 census c++\census.suo
文件 41984 2011-12-30 18:35 census c++\Debug\census.exe
文件 620936 2011-12-30 18:35 census c++\Debug\census.ilk
文件 1125376 2011-12-30 18:35 census c++\Debug\census.pdb
文件 362946 2003-06-08 21:44 census c++\im2.png
文件 31993 2011-11-30 20:11 census c++\L.jpg
..A.SH. 7680 2011-12-30 21:33 census c++\Thumbs.db
目录 0 2015-08-01 18:09 census c++\census\Debug
目录 0 2015-08-01 18:09 census c++\census
目录 0 2015-08-01 18:09 census c++\Debug
目录 0 2015-08-01 18:09 census c++
----------- --------- ---------- ----- ----
18281892 24
相关资源
- SIFT算法源代码
- 基于MIRACL库下的SM2密钥交换的实现
- stereoMatch
- 基于自适应窗口的立体匹配
- 最全的C库函数源代码
- STM32F1读取SBUS接收机数据
- 数字上摄影测量最小二乘匹配
- 基于匹配追踪算法的时频滤波去噪方
- Pointers on C with programs
- 利用张量进行匹配
- 西文图书管理
- 多核多线程技术 (高清 带书签) (
- BT协议分析以及C现实
- A*算法解决旅行商问题
- 立体匹配可用的图像对
- 宽带匹配网络的理论与设计 作者:陈
- 智能车载空气净化器的完整设计
- 单片机课程设计:数字电压表8路通道
- zw_C提取特征点并进行图像匹配.zip
- 异源图像匹配融合等所需的一些图像
- 无人超市管理系统.rar
- stm8 红外收发
- 车牌识别课程设计,能运行,模板匹
- C Primer Plus (第6版) 中文版 mobi Kin
- PIX4飞控+光流源代码
- 《Linux C编程一站式学习》
- ELAS开源程序高效大规模立体匹配
- 基于Hausdorff距离匹配的算法资料
- 图灵程序设计丛书:征服C指针
- 正向最大匹配算法实现中文分词
评论
共有 条评论