版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种细化算法及其与 opencv 的实现 是根据图像中像素点得八个相邻点得情况,得到一个索 引值,然后查表,如果为 0 怎保留该点,否则删除 算法代码: cpp view plaincopy #include stdafx.h #include cv.h #include highgui.h #include cxcore.h #includeiostream #includefstream #includeiomanip using namespace std; static int erasetable256 = 0,0,1,1,0,0,1,1, 1,1,0,1,1,1,0,1, 0,0,
2、1,1,0,0,1,1, 1,1,0,0,1,1,1,1, 1,1,0,0,1,1,0,0, 0,0,0,0,0,0,0,0, 1,1,0,0,1,1,0,0, 0,0,0,0,0,0,0,0, 0,0,1,1,0,0,1,1, 1,1,0,0,1,1,1,1, 0,0,1,1,0,0,1,1, 1,1,0,0,1,1,1,1, 1,1,0,0,1,1,0,0, 1,1,0,0,1,1,1,1, 1,1,0,0,1,1,0,0, 1,1,0,0,1,1,1,0, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0
3、, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,0, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,1, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 1,1,0,1,1,1,0,0, 1,1,0,0,1,0,0,0 0 则保留, fan ;/ 这个表是检测是用来细化黑色点边缘的,若为 否则删除,如果用来细化白色点边缘的话就取 /* * *888 函数名: save 参数类型: void 功能:保存细化查询表 * * void save() fstream writefi
4、le(erasetable.txt , ios:out); int n=0; for(int i=0;i256;i+) writefilesetw(2)erasetablei; writefileendl; /* *88 函数名: npow 参数类型: int n 功能:求 2 的 n 次方并返回结果 返回值类型: int * */ int npow(int n) int mul = 1; for(int i=0;in;i+) mul *= 2; return mul; /* * 函数名: Threshold 参数类型: IplImage *src , int lower , int high
5、er 功能:二值化灰度图像 * */ void Threshold(IplImage *src , int lower , int higher) assert(src-nChannels=1); for(int h=0;hsrc-height;h+) for(int w=0;wsrc-width;w+) if(*(src-imageData +h*src-widthStep+w)0*(src-imageD ata+h*src-widthStep+w)87) *(src-imageData +h*src-widthStep+w) = 255; else *(src-imageData +h*s
6、rc-widthStep+w) = 0; /* *8 函数名: scantable 参数类型: IplImage *src 功能:扫描像素 8 领域周围的八个像素值(只检测白色点得 周围),像素值为 0置 1,否则为 0,并保存(如果是检测黑 色的周围的话就相反) , 再根据得到的数,将得到的数看做一个二进制数化为十进制 的数,这个值即为查询索引,如果查到的值为 0 则保留,否 则删除 * */ void scantable(IplImage *src) assert(src-nChannels=1); int scan8 = 0; for(int h=1;h(src-height-1);h+
7、) for(int w=1;w(src-width-1);w+) int index = 0; if(*(src-imageData+(h)*src-widthStep+w)!=0) if(*(src-imageData+(h-1)*src-widthStep+w-1)=0) scan0 = 1; else scan0 = 0; if(*(src-imageData+(h-1)*src-widthStep+w)=0) scan1 = 1; else scan1 = 0; if(*(src-imageData+(h-1)*src-widthStep+w+1)=0) scan2 = 1; else
8、 scan2 = 0; if(*(src-imageData+(h)*src-widthStep+w-1)=0) scan3 = 1; else scan3 = 0; if(*(src-imageData+(h)*src-widthStep+w+1)=0) scan4 = 1; else scan4 = 0; if(*(src-imageData+(h+1)*src-widthStep+w-1)=0) scan5 = 1; else scan5 = 0; if(*(src-imageData+(h+1)*src-widthStep+w)=0) scan6 = 1; else scan6 = 0
9、; if(*(src-imageData+(h+1)*src-widthStep+w+1)=0) scan7 = 1; else scan7 = 0; for(int i=0;i8;i+) index += scani*npow(i); / printf(%dn ,index); if(erasetableindex = 1) /printf(%dn , erasetableindex); *(src-imageData+h*src-widthStep+w) = 0; int _tmain(int argc, _TCHAR* argv) save(); IplImage *img = 0; I
10、plImage *gray = 0; IplImage *copy_gray = 0; int vmin = 0; int vmax = 0; img = cvLoadImage(1.bmp , 1); gray = cvCreateImage(cvGetSize(img) , 8 , 1); copy_gray = cvCreateImage(cvGetSize(img) , 8 ,1); cvCvtColor(img , gray , CV_BGR2GRAY); cvSmooth(gray , gray , CV_MEDIAN , 3 , 0 , 0 , 0); cvNamedWindow(gray , 1); cvNamedWindow(erase , 1); /cvCreateTrackbar(lower , gray , vmin , 256 , 0); /cvCreateTrackbar(higher , gray , vmax , 256 , 0); Threshold(gray , vmin , vmax); cvCopy(gray , copy_gray); scantable(copy_g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某造纸厂废水处理规范细则
- 造纸厂环保检查办法
- 暑假文明礼仪、文明出行告家长书(三篇)
- 汽车制造质量管控准则
- 手部开放性损伤处理指导
- 汽车厂涂装车间管理
- 飞机厂装配工艺细则
- 某塑料厂注塑管理
- 膝关节护理康复模板
- 在线客服平台委托运营协议三篇
- 635MPa 级热轧带肋高强钢筋应用技术规程
- QC-T 1174-2022 电动汽车用高压熔断器
- 逆作法钢筋混凝土顶管工作井标准图集
- 围手术期感染控制培训
- 商业广场亮化申请方案
- 皖2015s209 混凝土砌块式排水检查井
- 气相色谱-质谱联用法测定纺织品中多氯联苯残留量的不确定度评定报告
- 人教精通版小学英语3年级至6年级单词带音标
- 中型水力发电厂电气部分初步设计
- GB/T 273.1-2023滚动轴承外形尺寸总方案第1部分:圆锥滚子轴承
- 固体料仓 (2.26)设计计算
评论
0/150
提交评论