- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1数字图像处理实验报告
数字图像处理
实验报告
学号
姓名
日期
实验一 灰度图像的二值化处理
一、实验目的
图像二值化二值化图像的显示与打印十分方便,存储与传输也非常容易是将灰度图像转化为只有黑白两类像素的图像
五、源程序(附上注释)
int DetectThreshold(IplImage*img, int nMaxIter, int iDiffRec)? //阀值分割 {???? //图像信息??? int height = img-height;??? int width = img-width;???? int step = img-widthStep/sizeof(uchar);???? uchar *data = (uchar*)img-imageData;??? iDiffRec = 0;?? int F[256]={ 0 }; //直方图数组??? int iTotalGray=0;//灰度值和??? int iTotalPixel = 0;//像素数和??
??uchar iThrehold,iNewThrehold;//阀值、新阀值??uchar iMaxGrayValue=0,iMinGrayValue=255;//原图像中的最大灰度值和最小灰度值 uchar iMeanGrayValue1,iMeanGrayValue2; //获取(i,j)的值,存于直方图数组F??for(int i=0;iwidth;i++) {? for(int j= 0;jheight;j++iThrehold = 0;//iNewThrehold = (iMinGrayValue+iMaxGrayValue)/2;//初始阀值 iDiffRec = iMaxGrayValue - iMinGrayValue;for(int a=0;(abs(iThrehold-iNewThrehold)0.5)anMaxIter;a++)//迭代中止条件 {? iThrehold = iNewThrehold;//小于当前阀值部分的平均灰度值 for(int i=iMinGrayValue;iiThrehold;i++) {? iTotalGray += F[i]*i;//F[]存储图像信息? iTotalPixel += F[i];} iMeanGrayValue1 = (uchar)(iTotalGray/iTotalPixel);//大于当前阀值部分的平均灰度值 iTotalPixel = 0; iTotalGray = 0 for(int j=iThrehold+1;jiMaxGrayValue;j++){ iTotalGray += F[j]*j;//F[]存储图像信息? iTotalPixel += F[j];??? } iMeanGrayValue2 = (uchar)(iTotalGray/iTotalPixel); iNewThrehold = (iMeanGrayValue2+iMeanGrayValue1)/2;??????? //新阀值iDiffRec = abs(iMeanGrayValue2 - iMeanGrayValue1); }//coutThe Threshold of this Image in imgIteration is:iThreholdendl;? return iThrehold;}int otsu (unsigned char *image, int rows, int cols, int x0, int y0, int dx, int dy, int vvv){unsigned char *np; // 图像指针int thresholdValue=1; // 阈值 int ihist[256]; // 图像直方图,256个点 int i, j, k; // various counter int n, n1, n2, gmin, gmax; double m1, m2, sum, csum, fmax, sb;?// 对直方图置零 memset(ihist, 0, sizeof(ihist)); gmin=255; gmax=0; // 生成直方图 for (i = y0 + 1; i y0 + dy - 1; i++){np = (unsigned char*)image[i*cols+x0+1]; for (j = x0 + 1; j x0 + dx - 1; j++) {
您可能关注的文档
- 《每逢佳节倍思亲》名师教案.docx
- 2.3.1直线与平面所成的角.ppt
- 白田镇中学家长学校学员考核制度2.doc
- 民丰特纸2013年报企业排名及薪酬报告(木材造纸印刷业销售费用率)民丰特种纸股份有限公司_九舍会智库.pdf
- 烟支滤棒智能长度仪项目商业计划书(2013年融资成功案例范文)-协助企业融资-投资专家免费咨询.pdf
- 高校毕业生就业推荐表.doc
- 第7章脉冲波形的产生与整形授课计划.ppt
- 山东省郯城县郯城街道初级中学2013-2014学年七年级地理9月阶段考试试题.doc
- FOXMAIL 7.0 邮箱的设置说明.docx
- 甲基苯基硅单体的生产工艺及市场研究报告(硕询化工网).doc
文档评论(0)