欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    实验报告-图像锐化(共12页).doc

    • 资源ID:13553196       资源大小:1.12MB        全文页数:12页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验报告-图像锐化(共12页).doc

    精选优质文档-倾情为你奉上数字图像处理(2015年春季学期)序号:8 实 验 报 告系别:计算机科学与技术班级:计算机12-1姓名:依力夏提江·艾买尔学号:实验名称:图像锐化总成绩:评语: 日期:图像信息处理实验报告实验名称图像锐化实验序号3实验日期2015.5.25实验人依力夏提江·哎买尔一、实验目的、要求与环境1目的:通过实验,了解数字图象锐化的一般方法,掌握图象锐化的编程方法,了解常见图象锐化效果的评价规则。2.要求:将给定的图像进行锐化处理,要求首先将彩色图像灰度化,再使用锐化算法进行锐化,最后将图像二值化处理,分析锐化后的视觉效果,提交实验报告。锐化的算法不限,可采用Sobel、Roberts、Priwitt、Laplacian、Wallis等的一种或几种。实验将根据图像锐化的难度、种类、代码量与实验效果进行评分。3.环境:Windows 7操作系统Microsoft Visual Studio 2005 (VS2005)自带图像文件:L1.bmp:二、实验步骤1. 准备相关图像文件。2在Win 7操作系统上,打开Microsoft Visual Studio 2005,编写相关程序,完成程序主体框架结构。3编写图像锐化的彩色图像灰度化,Sobel算法锐化,图像二值化处理相关的程序代码。4对程序进行相关调试,修改程序,去除其中的BUG。5. 利用自己准备的图像的文件和编写的程序,进行图像锐化处理。6截屏,保留实验结果,进行实验结果分析,并撰写实验报告。三、相关背景知识(写你自己觉得比较重要的与本实验相关的背景知识)在边缘检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。与Prewitt算子相比,Sobel算子对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边缘的 ,另一个是检测垂直边缘的 。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。将Sobel算子矩阵中的所有2改为根号2,就能得到各向同性Sobel的矩阵。由于是滤波算子的形式,用于提取边缘,可以利用快速函数, 简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。 在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们给出了下面阈值化轮廓提取算法,该算法已在上证明当像素点满足正态分布时所求解是最优的。四、编译与执行过程截图(下面是一个例子,换上你自己的图)六、实验结果与分析(下面是一个例子,换上你自己的图)图像锐化:源图: 灰度化:再经过Sobel算法锐化:再经过二值化后: 实验结果分析:如上几个图像所示,之所以可以从人物、背景中提取出轮廓,是因为轮廓部分的信息较强,因此,如果设定一个阀值,当图中小雨阀值的点(即灰度图中灰度变化较弱的点,被认为是非边界点)置为黑,将图中大于阀值的点置为白,则可得到上图,这就把人物的边缘信息提取出来了。在本实验的图像锐化过程中,所采用的公式为:索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量 Sobel卷积因子为: 该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:  具体计算如下:Gx = (-1)*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)      +(-2)*f(x-1,y) + 0*f(x,y)+2*f(x+1,y)      +(-1)*f(x-1,y+1) + 0*f(x,y+1) + 1*f(x+1,y+1)= f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)-f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1) Gy =1* f(x-1, y-1) + 2*f(x,y-1)+ 1*f(x+1,y-1)      +0*f(x-1,y) 0*f(x,y) + 0*f(x+1,y)      +(-1)*f(x-1,y+1) + (-2)*f(x,y+1) + (-1)*f(x+1, y+1)= f(x-1,y-1) + 2f(x,y-1) + f(x+1,y-1)-f(x-1, y+1) + 2*f(x,y+1)+f(x+1,y+1) 其中f(a,b), 表示图像(a,b)点的灰度值; 图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:七、主要相关程序源代码7.1 彩色图像灰度化void CBMPEdit:Gray()pImageData = (byte *)GlobalLock(m_hgImageData);lWidth = m_BmpInfo.bmiHeader.biWidth;lHeight = m_BmpInfo.bmiHeader.biHeight;for ( int j = 0 ; j < lHeight ; j+)for( int i = 0 ; i < lWidth ; i+)/灰度化临时值temp = double(*(pImageData + j * nBytePerLine + i * 3 + 0)*0.299 + double(*(pImageData + j * nBytePerLine + i * 3 + 1)*0.587 + double(*(pImageData + j * nBytePerLine + i * 3 + 2)*0.114;/三通道图转到单通道*(pImageData + j * nBytePerLine + i * 3 + 0)=int(temp);*(pImageData + j * nBytePerLine + i * 3 + 1)=int(temp);*(pImageData + j * nBytePerLine + i * 3 + 2)=int(temp);GlobalUnlock(m_hgImageData);7.2 Sobel锐化int CBMPEdit: Sharpening()lWidth = m_BmpInfo.bmiHeader.biWidth;lHeight = m_BmpInfo.bmiHeader.biHeight;/ 分配内存,以保存新DIBhDIB = GlobalAlloc(GHND, nBytePerLine * lHeight);/ 判断是否内存分配失败if (hDIB = NULL)/ 分配内存失败return NULL;pImageDataNew = (byte *)GlobalLock(hDIB);/Sobel算法for (int j = 1; j < lHeight - 1; j+)for(int i = 1; i < lWidth - 1; i+)gx = gy = 0 ; val11=*(pImageData + (j-1) * nBytePerLine + (i-1) * 3);val12=*(pImageData + (j-1) * nBytePerLine + i * 3);val13=*(pImageData + (j-1) * nBytePerLine + (i+1) * 3);val21=*(pImageData + j * nBytePerLine + (i-1) * 3);val22=*(pImageData + j * nBytePerLine + i * 3);val23=*(pImageData + j * nBytePerLine + (i+1) * 3);val31=*(pImageData + (j+1)* nBytePerLine + (i-1) * 3);val32=*(pImageData + (j+1)* nBytePerLine + i * 3);val33=*(pImageData + (j+1)* nBytePerLine + (i+1)* 3);/图像的每一个像素的横向及纵向梯度近似值。gx = (-1.0)*val31 + 0*val32 + 1.0*val33+(-2.0)*val21 + 0*val22+ 2.0*val23+(-1.0)*val11 + 0*val12 + 1.0*val13;gy =(-1.0)*val31 + (-2.0)*val32+ (-1.0)*val33+ 0*val21 + 0*val22+ 0*val32+ 1.0*val11 + 2.0*val12 + 1.0*val13;/计算梯度的大小 Sobel = sqrt(gx*gx + gy*gy);*(pImageDataNew + j * nBytePerLine + i * 3 + 0) = int(Sobel); *(pImageDataNew + j * nBytePerLine + i * 3 + 1) = int(Sobel);*(pImageDataNew + j * nBytePerLine + i * 3 + 2) = int(Sobel);GlobalUnlock(hDIB);7.3 图像二值化处理void CBMPEdit:Binarization()/像素值大于复制为,小于等于复制为for (int j = 0; j < lHeight; j+)for(int i = 0; i < lWidth; i+)if( int(*(pImageDataNew + j * nBytePerLine + i * 3) > 80)*(pImageDataNew + j * nBytePerLine + i * 3 + 0) = 255; *(pImageDataNew + j * nBytePerLine + i * 3 + 1) = 255;*(pImageDataNew + j * nBytePerLine + i * 3 + 2) = 255;else*(pImageDataNew + j * nBytePerLine + i * 3 + 0) = 0;*(pImageDataNew + j * nBytePerLine + i * 3 + 1) = 0;*(pImageDataNew + j * nBytePerLine + i * 3 + 2) = 0;八、实验的总结与收获 (写你们自己各自的总结与收获) 在进行Sobel锐化时,使用的图像数据不是每次进行计算后的像素数据,而是原灰度化的数据,所以我将灰度化的数据又存了一份,这个地方出现了逻辑错误。专心-专注-专业

    注意事项

    本文(实验报告-图像锐化(共12页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开