当前位置: 首页 > news >正文

淘宝上做网站的信得过吗深圳京圳建设监理有限公司网站

淘宝上做网站的信得过吗,深圳京圳建设监理有限公司网站,编程机构,东莞网站设计品牌图像分割–全局固定阈值分割、自适应阈值分割 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章#xff1a; 01- 一元熵值、二维熵值 02- 图像平移变换#xff0c;图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、…图像分割–全局固定阈值分割、自适应阈值分割 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章 01- 一元熵值、二维熵值 02- 图像平移变换图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、K近邻均值滤波器 04-分段线性变换直方图均衡化、锐化处理 05-基于拉普拉斯算子、Canny的边缘检测功能、实现Otsu分割方法 06-最近邻插值双线性插值立方卷积插值 文章目录 图像分割--全局固定阈值分割、自适应阈值分割实验内容一、全局固定阈值分割全局固定阈值分割的原理全局固定阈值分割的实验代码全局固定阈值分割的实验现象 二、自适应阈值分割自适应阈值分割的实验原理自适应阈值分割的实验代码自适应阈值分割的实验现象 实验内容 实验目的 1掌握图像分割的原理与相关方法。 2能使用VC开发一些图像分割方法。 实验要求 A部分 1使用VC设计程序对一幅256级灰度图像进行全局固定阈值分割。 2使用VC设计程序对一幅256级灰度图像进行自适应阈值分割。 一、全局固定阈值分割 全局固定阈值分割的原理 全局固定阈值分割是图像处理中一种简单而常用的图像分割方法主要用于将图像中的目标与背景分开。该方法假设图像的目标和背景在灰度上有较大的差异因此通过设定一个固定的阈值来将图像分割成两个部分。 具体步骤如下 灰度图像转换 如果图像不是灰度图像首先将其转换为灰度图像。 选择阈值 选择一个适当的阈值该阈值将图像的灰度级别划分为两个部分一部分属于目标另一部分属于背景。阈值的选择通常基于图像的直方图分布以及应用场景。 分割图像 将图像中每个像素的灰度值与选定的阈值进行比较将灰度值大于阈值的像素归为一类灰度值小于等于阈值的像素归为另一类。这样就得到了分割后的图像。 可选的后处理 分割后的图像可能包含一些噪声或不连续的区域因此可能需要进行一些后处理步骤如去噪、连通性分析等。 应用领域 全局固定阈值分割常用于具有清晰目标和背景对比度的图像例如二值化处理、物体检测等。 虽然全局固定阈值分割简单易用但对于光照不均匀、目标与背景差异不大的图像效果可能不佳。在这种情况下可能需要采用自适应阈值分割方法或其他更复杂的图像分割技术。 全局固定阈值分割的实验代码 /*************************************************************************** \函数名称* RegionSegFixThreshold()** \输入参数:* CDib * pDib - 指向CDib类的指针含有原始图象信息* int nThreshold - 区域分割的阈值** \返回值:* 无** \说明:* 1逻辑表示对应象素为前景区域0表示背景* 阈值分割的关键问题在于阈值的选取。阈值的选取一般应该视实际的应用而* 灵活设定。***************************************************************************/ void RegionSegFixThreshold(CDib * pDib, int nThreshold) {//遍历图象的纵坐标int y;//遍历图象的横坐标int x;//图象的长宽大小CSize sizeImage pDib-GetDimensions();int nWidth sizeImage.cx ;int nHeight sizeImage.cy ;//图像在计算机在存储中的实际大小CSize sizeImageSave pDib-GetDibSaveDim();//图像在内存中每一行象素占用的实际空间int nSaveWidth sizeImageSave.cx;//图像数据的指针LPBYTE pImageData pDib-m_lpImage;for(y0; ynHeight ; y )for(x0; xnWidth ; x ){if( *(pImageDatay*nSaveWidthx) nThreshold)*(pImageDatay*nSaveWidthx) 0;else*(pImageDatay*nSaveWidthx) 255;} }全局固定阈值分割的实验现象 二、自适应阈值分割 自适应阈值分割的实验原理 自适应阈值分割是一种根据图像局部特性确定阈值的方法通常用于解决图像中灰度变化较大的情况。自适应阈值分割方法考虑图像中不同区域的灰度分布差异根据局部信息确定每个像素的阈值。 以下是一些常见的自适应阈值分割方法 局部均值法Local Mean Method 对于每个像素使用其邻域的平均灰度值作为阈值。这样可以适应图像中灰度变化较慢的区域。 局部中值法Local Median Method 对于每个像素使用其邻域的中值作为阈值。对于一些包含噪声的图像中值法相对于均值法更具鲁棒性。 局部方差法Local Variance Method 使用每个像素邻域的灰度方差作为阈值。适用于图像中包含有纹理或细节的区域。 Sauvola’s Method Sauvola提出的方法考虑了局部均值和局部方差通过权衡这两个因素来确定阈值。适用于具有不同光照条件的图像。 Niblack’s Method 类似于Sauvola的方法Niblack提出的方法使用局部均值和标准差来确定阈值。适用于具有强烈光照变化的图像。 Bernsen’s Method Bernsen的方法使用局部最大值和最小值之间的差异来确定阈值。对于具有大范围灰度变化的图像比较有效。 在实际应用中选择合适的自适应阈值分割方法取决于图像的特性以及分割任务的要求。这些方法的性能会受到图像噪声、光照条件和目标特性等因素的影响。因此需要根据具体情况进行调整和选择。 自适应阈值分割的实验代码 /*************************************************************************** \函数名称* RegionSegAdaptive()** \输入参数:* CDib * pDib - 指向CDib类的指针含有原始图象信息** \返回值:* 无** \说明:* 1逻辑表示对应象素为前景区域0表示背景* 阈值分割的关键问题在于阈值的选取。阈值的选取一般应该视实际的应用而* 灵活设定。本函数中阈值不是固定的而是根据图象象素的实际性质而设定的。* 这个函数把图像分成四个子图象然后计算每个子图象的均值根据均值设置阈值* 阈值只是应用在对应的子图象***************************************************************************/ void RegionSegAdaptive(CDib * pDib) {//遍历图象的纵坐标int y;//遍历图象的横坐标int x;//图象的长宽大小CSize sizeImage pDib-GetDimensions();int nWidth sizeImage.cx ;int nHeight sizeImage.cy ;//图像在计算机在存储中的实际大小CSize sizeImageSave pDib-GetDibSaveDim();//图像在内存中每一行象素占用的实际空间int nSaveWidth sizeImageSave.cx;//图像数据的指针LPBYTE lpImage pDib-m_lpImage;// 局部阈值int nThd[2][2] ;// 子图象的平均值int nLocAvg ;// 对左上图像逐点扫描nLocAvg 0 ;// y方向for(y0; ynHeight/2 ; y ){// x方向for(x0; xnWidth/2 ; x ){nLocAvg lpImage[y*nSaveWidth x];}}// 计算均值nLocAvg / ( (nHeight/2) * (nWidth/2) ) ;// 设置阈值为子图象的平均值nThd[0][0] nLocAvg ;// 对左上图像逐点扫描进行分割// y方向for(y0; ynHeight/2 ; y ){// x方向for(x0; xnWidth/2 ; x ){if(lpImage[y*nSaveWidth x]nThd[0][0])lpImage[y*nSaveWidth x] 255 ;else{lpImage[y*nSaveWidth x] 0 ;}}}// // 对左下图像逐点扫描nLocAvg 0 ;// y方向for(ynHeight/2; ynHeight ; y ){// x方向for(x0; xnWidth/2 ; x ){nLocAvg lpImage[y*nSaveWidth x];}}// 计算均值nLocAvg / ( (nHeight - nHeight/2) * (nWidth/2) ) ;// 设置阈值为子图象的平均值nThd[1][0] nLocAvg ;// 对左下图像逐点扫描进行分割// y方向for(ynHeight/2; ynHeight ; y ){// x方向for(x0; xnWidth/2 ; x ){if(lpImage[y*nSaveWidth x]nThd[1][0])lpImage[y*nSaveWidth x] 255 ;else{lpImage[y*nSaveWidth x] 0 ;}}}// // 对右上图像逐点扫描nLocAvg 0 ;// y方向for(y0; ynHeight/2 ; y ){// x方向for(xnWidth/2; xnWidth ; x ){nLocAvg lpImage[y*nSaveWidth x];}}// 计算均值nLocAvg / ( (nHeight/2) * (nWidth - nWidth/2) ) ;// 设置阈值为子图象的平均值nThd[0][1] nLocAvg ;// 对右上图像逐点扫描进行分割// y方向for(y0; ynHeight/2 ; y ){// x方向for(xnWidth/2; xnWidth ; x ){if(lpImage[y*nSaveWidth x]nThd[0][1])lpImage[y*nSaveWidth x] 255 ;else{lpImage[y*nSaveWidth x] 0 ;}}}// // 对右下图像逐点扫描nLocAvg 0 ;// y方向for(ynHeight/2; ynHeight ; y ){// x方向for(xnWidth/2; xnWidth ; x ){nLocAvg lpImage[y*nSaveWidth x];}}// 计算均值nLocAvg / ( (nHeight - nHeight/2) * (nWidth - nWidth/2) ) ;// 设置阈值为子图象的平均值nThd[1][1] nLocAvg ;// 对右下图像逐点扫描进行分割// y方向for(ynHeight/2; ynHeight ; y ){// x方向for(xnWidth/2; xnWidth ; x ){if(lpImage[y*nSaveWidth x]nThd[1][1])lpImage[y*nSaveWidth x] 255 ;else{lpImage[y*nSaveWidth x] 0 ;}}}// 为了显示方便显示逻辑1用黑色显示逻辑0用白色显示for(y0; ynHeight ; y ){// x方向for(x0; xnWidth ; x ){lpImage[y*nSaveWidth x] 255 - lpImage[y*nSaveWidth x] ;}} }自适应阈值分割的实验现象
http://www.w-s-a.com/news/161765/

相关文章:

  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz
  • 上海简站商贸有限公司福州哪家专业网站设计制作最好
  • 博客网站开发流程苏州专业做网站的公司哪家好
  • 四川手机网站建设西安 网站 高端 公司
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版建筑工程知识零基础
  • 广州番禺网站公司v2017网站开发
  • 微信公众号怎么做微网站wordpress和dz
  • 西部数码网站管理助手 301福州搜索优化实力
  • 响应式网站介绍页面模板功能找不到
  • 公司网站如何seo自己做资讯网站
  • 天津网站建设软件开发招聘企业信用信息查询公示系统上海
  • 网站备案中做正品的网站
  • 网站建设0基础学起青海企业网站开发定制
  • 网站定制项目上海快速建站
  • 大型视频网站建设方案东莞企业网站建设开发
  • 西安php网站制作可以用AI做网站上的图吗
  • 网站开发工程师和前端企业网络推广公司
  • 泉州开发网站的公司有哪些电脑网页翻译