




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、投影法是根据图像信息在某方向的投影分布特点来进行检测的方法,也就是说像素点的累加,其实是一种统计的方法 。像素灰度值为f(x,y)时,其投影函数h(y)的值为如下公式来计算:其中m,n 为图像尺寸, c 为图像灰度值。将投影值进行归一化,其计算公式如下:资料1 中,先求投影值,再给投影值进行归一化处理。资料2中先进行二值化,然后进行灰度投影。资料1中 ,进行投影以后 * / hprojectdib()/ 图像水平投影 / vprojectdib()/ 图像垂直投影参数: lpstr lpdibbits /指向源dib图像指针 long lwidth / 源图像宽度(像素数) long lhei
2、ght - 源图像高度(像素数)返回值: bool /运算成功返回true,否则返回false。* 要求目标图像为只有0和255两个灰度值的灰度图像。 *bool winapi hprojectdib(lpstr lpdibbits,long lwidth, long lheight) lpstrlpsrc; / 指向源图像的指针 lpstrlpdst; / 指向缓存图像的指针 lpstr lpnewdibbits; / 指向缓存dib图像的指针 hlocalhnewdibbits; long i; /循环变量 long j; long lblacknumber; /图像中每行内的黑点个数 u
3、nsigned char pixel; /像素值 long llinebytes; / 图像每行的字节数函数的声明定义变量 hnewdibbits = localalloc(lhnd, lwidth * lheight); / 暂时分配内存,以保存新图像if (hnewdibbits = null) return false; / 分配内存失败lpnewdibbits = (char * )locallock(hnewdibbits); / 初始化新分配的内存,设定初始值为255lpdst = (char *)lpnewdibbits;memset(lpdst, (byte)255, lwid
4、th * lheight);暂时分配内存如果成功分配内存,则初始化新内存llinebytes = widthbytes(lwidth * 8); / 计算图像每行的字节数for (j = 0;j lheight ;j+) lblacknumber = 0; for(i = 0;i lwidth ;i+) lpsrc = (char *)lpdibbits + llinebytes * j + i; / 指向源图像倒数第j行,第i个象素的指针pixel = (unsigned char)*lpsrc; if (pixel != 255 & pixel != 0) return false; if
5、(pixel = 0) lblacknumber+; if(pixel = 0) lblacknumber+; 计算像素值和 for(i = 0;i lblacknumber ;i+) / 指向目标图像倒数第j行,第i个象素的指针 lpdst = (char *)lpnewdibbits + llinebytes * j + i; *lpdst = (unsigned char)0; / 复制投影图像 memcpy(lpdibbits, lpnewdibbits, lwidth * lheight); localunlock(hnewdibbits); / 释放内存 localfree(hne
6、wdibbits); return true; / 返回形成新图像(投影后的图像)复制投影图像释放内存返回函数值 bool winapi vprojectdib(lpstr lpdibbits,long lwidth, long lheight) lpstrlpsrc; / 指向源图像的指针 lpstrlpdst; / 指向缓存图像的指针 lpstr lpnewdibbits; / 指向缓存dib图像的指针 hlocalhnewdibbits; long i; long j; long lblacknumber; /图像中每行内的黑点个数 unsigned char pixel; /像素值 l
7、ong llinebytes; / 图像每行的字节数hnewdibbits = localalloc(lhnd, lwidth * lheight); / 暂时分配内存,以保存新图像if (hnewdibbits = null) return false; / 分配内存失败lpnewdibbits = (char * )locallock(hnewdibbits); / 锁定内存lpdst = (char *)lpnewdibbits; / 初始化新分配的内存,设定初始值为255memset(lpdst, (byte)255, lwidth * lheight);llinebytes = wi
8、dthbytes(lwidth * 8); / 计算图像每行的字节数for (i = 0;i lwidth ;i+)lblacknumber = 0;for(j = 0;j lheight ;j+)lpsrc = (char *)lpdibbits + llinebytes * j + i; / 指向源图像倒数第j行,第i个象素的指针pixel = (unsigned char)*lpsrc;if (pixel != 255 & pixel != 0)return false;if(pixel = 0)lblacknumber+;for(j = 0;j lblacknumber ;j+)/ 指向目标图像倒数第j行,第i个象素的指针lpdst = (char *)lpnewdibbits + llinebytes * j + i;*lpdst = (unsigned char
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神经内科设备培训
- 校园宿舍闲置空地的利用设计
- 车辆借用与租赁车辆保险理赔责任合同范本
- 商业地产项目场地承包经营合作协议书
- 餐饮企业员工劳动合同范本及培训考核合同
- 特色主题餐厅经营合作协议
- 党建联学共建项目合作协议书
- 车辆抵押担保汽车维修担保服务合同
- 汽车抵押典当贷款业务合作协议
- 车棚租赁与停车诱导系统合作协议
- 口腔科清洗间管理制度
- 拌合站会议管理制度
- 2025年八年级学业水平考试生物试卷 (附答案)
- 2025防洪防汛专项培训
- 执业医师考试重要法律法规试题及答案
- 统编版2024-2025第二学期小学六年级期末语文测试卷(有答案)
- 烟花爆竹经营安全培训
- 会计核算中的权责发生制与收付实现制试题及答案
- 2024版压力容器设计审核机考题库-多选3-2
- 2025年国防教育课件
- 贵州国企招聘2024贵州贵安发展集团有限公司招聘68人笔试参考题库附带答案详解
评论
0/150
提交评论