资源简介
ssda 图像处理 这是一种比较好的SSDA算法实现代码,大家可以参考参考

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
//////////////////////////////////////////////////////////////////////////////////////////
bool SsdaMate(char* lpDIBchar* lpTempDIBdouble Tsigned long lWidthsigned long lTempWidth
signed long lHeightsigned long lTempHeightunsigned int pat_size256unsigned int TotalLength1)//图像匹配
{
/*
signed long lWidth=width1;
signed long lTempWidth=width2;
signed long lHeight=higth1;
signed long lTempHeight=higth2;
*/
//指向待匹配位图像素的指针
unsigned char * lpSrc;
//指向模板像素的指针
unsigned char * lpTempSrc;
//指向目的图像的像素的指针
unsigned char * lpDst;
//指向待匹配位图和模板图像的像素的指针
char *lpDIBBits*lpTempDIBBits;
//指向结果图像的指针
char *lpNewDIB;
//指向结果图像的像素的指针
char *lpNewDIBBits;
//待匹配位图和模板位图的每行的字节数
signed long lLineByteslTempLineBytes;
//计算待匹配位图每行的字节数
lLineBytes=lWidth;//256色图每个像素占8位,图像宽度就是像素数,也即是字节数
//计算模板位图每行的字节数
lTempLineBytes=lTempWidth;//256色图每个像素占8位,图像宽度就是像素数,也即是字节数
printf(“测试语句4,仅供测试使用!\n“);///////////////////////测试语句,仅供测试使用
//暂时分配内存,以保存新图像
char *hDIB=(char *)malloc(lHeight*lLineBytes+54+pat_size256);//实际上就是待匹配图像的总长度(杨晓鹏)
//分配内存失败,直接返回
if (!hDIB)
{
printf(“memory allocation failed!\n“);
exit(1);
}
lpNewDIB=hDIB;//lpNewDIB指向hDIB的首地址
//复制待匹配位图的信息头和调色板
memcpy(lpNewDIBlpDIB54+pat_size256);
printf(“测试语句5,仅供测试使用!\n“);///////////////////////测试语句,仅供测试使用
//找到结果位图的像素的起始位置
lpNewDIBBits = (lpNewDIB)+54+pat_size256;//或者lpNewDIBBits = (lpNewDIB)+offset2;
//找到待匹配位图的像素的起始位置
lpDIBBits= (lpDIB)+54+pat_size256;//或者lpDIBBits= (lpDIB)+offset1;
//找到模板位图的像素的起始位置
lpTempDIBBits=lpTempDIB+54+pat_size256;//或者lpTempDIBBits=lpTempDIB+offset2;
printf(“测试语句6,仅供测试使用!\n“);///////////////////////测试语句,仅供测试使用
//把结果位图初始化为白色
memset(lpNewDIBBits(unsigned char)255lLineBytes*lHeight);
printf(“测试语句7,仅供测试使用!\n“);///////////////////////测试语句,仅供测试使用
//循环变量
signed long ijmn;
//绝对误差
double e;
//记录最大累计次数的数组
int *pMaxR=(int *)calloc(lWidth*lHeightsizeof(int));
//分配内存失败,直接返回
if (!pMaxR)
{
printf(“memory allocation failed!\n“);
exit(1);
}
//初始化最大累计数组为0
for(i=0;i pMaxR[i]=0;
//累计次数计数
int R;
//累计次数最大是的像素位置
unsigned long MaxXMaxY;
//模板像素和待匹配位图的子图像素的平均值
double dSigmaTdSigmaS;
double ratio = lTempWidth*lTempHeight;
//计算模板位图像素的平均值
dSigmaT=0;
for(m=0;m {
for(n=0;n {
lpTempSrc=(unsigned char*)lpTempDIBBits
+lTempLineBytes*(lTempHeight-1-m)+n;
dSigmaT+=*lpTempSrc;
}
}
dSigmaT=dSigmaT/ratio;
//最大的随机数
double fMax=RAND_MAX;
//对待匹配位图的每一个像素进行操作
//待匹配位图每行,注意每行的范围要减去模板的高度
for(j=0;j {
//待匹配位图的每列,注意每列的范围要减去模板的宽度
for(i=0;i {
//计算模板下的子图的像素值的平均值
dSigmaS=0;
for(m=0;m {
for(n=0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 140288 2008-12-01 09:25 ssda\Debug\vc60.idb
文件 86016 2008-12-01 09:25 ssda\Debug\vc60.pdb
文件 3660840 2008-12-01 09:25 ssda\Debug\bmp.pch
文件 20282 2008-12-01 09:25 ssda\Debug\bmp.obj
文件 195744 2008-12-01 09:25 ssda\Debug\bmp.ilk
文件 184358 2008-12-01 09:25 ssda\Debug\bmp.exe
文件 369664 2008-12-01 09:25 ssda\Debug\bmp.pdb
目录 0 2006-04-13 15:48 ssda\Debug
文件 0 2006-04-08 00:02 ssda\~VCAB.tmp
文件 77878 2006-03-30 15:58 ssda\001.bmp
文件 5878 2006-04-17 11:07 ssda\0002.bmp
文件 5878 2006-03-30 15:57 ssda\002.bmp
文件 77878 2008-12-01 09:25 ssda\008.bmp
文件 50176 2008-12-01 09:27 ssda\bmp.ncb
文件 729 2008-12-01 09:25 ssda\bmp.plg
文件 8722 2006-04-17 11:24 ssda\bmp.cpp
文件 3365 2006-04-06 18:02 ssda\bmp.dsp
文件 531 2006-04-05 23:43 ssda\bmp.dsw
文件 53760 2008-12-01 09:27 ssda\bmp.opt
文件 179 2008-12-01 09:15 ssda\notes.txt
目录 0 2008-12-01 09:24 ssda
文件 2144 2010-04-16 15:55 多线程的DDOS攻击程序源代码!下载回来编译通不过.rar
----------- --------- ---------- ----- ----
4944310 22
相关资源
- 冈萨雷斯 数字图像处理 源代码(m文
- qt图像处理
- 血液图像处理—细胞识别
- VC数字图像处理课程设计
- 图像处理作业C 源代码
- SAR图像处理1
- Graphics Magic图像处理魔术师,含Delph
- 铝合金方波交流TIG焊熔池图像处理
- 基于图像处理的智能车寻迹算法设计
- 医学超声图像处理研究+哈尔滨工业大
- 友锋图像处理系统v3.rar(破解版
- 图像处理代码
- 图片-视频互换程序
- 基于图论的图像处理
- opencv视觉测距
- 北京交通大学-数字图像处理试卷+ 答
- 数字图像处理 王伟强 国科大 期末试
- 国科大图像处理作业王伟强老师.rar
- 国科大数字图像处理习题课重点
- 数字图像处理标准测试图片335张
- 哈尔滨工业大学深圳 数字图像处理
- 东南大学数字图像处理期末复习
- 2019国科大 王伟强 课程PPT+作业+中文翻
- 国科大图像处理期末考题2017(王伟强
- 数字图像处理课程设计 实验报告
- 国科大王伟强图像处理期末考试2018
- 国科大-图像处理与分析-2018期末试题
- 图像处理 分析与机器视觉 源码
- 图像处理及源码-5个可以使用包含源代
- 综合Canny法与小波变换的边缘检测方法
评论
共有 条评论