实验三直方图及二值化

实验三直方图及二值化

ID:22281848

大小:505.50 KB

页数:8页

时间:2018-10-28

实验三直方图及二值化_第1页
实验三直方图及二值化_第2页
实验三直方图及二值化_第3页
实验三直方图及二值化_第4页
实验三直方图及二值化_第5页
资源描述:

《实验三直方图及二值化》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验三【实验名称】直方图及二值化【实验内容】设计直方阁程序:程序能显示数字阁象的直方阁,确定直方阁上最小、最大、最有代表性的灰度值,可以交互选择阈值并输出二值化图象,进一步自动确定直方图的谷底,并用适当图象检验程序,同时与Phtoshop的显示结果作比较。灰度直方图(GrayLevelHistogram),就是对于图像的每一个灰度值,求出整个图像中具有该灰度值的像素的个数,并用图形表示出来。在木次实验中主要解决的问题:a最大最小灰度值,就是从小到大,以及从大到小,分别找到第一个包含一个以上像素点的灰度值

2、;b最有代表性的灰度值,是把各灰度值包含的像素点的个数做比较,取出最大的那个值,作为阁像的第一波峰点;c二值化处理,把各像素点的灰度值和输入的阈值做比较,小于阈值的灰度值罝0,大于阈值的灰度值置255。【算法分析】打开BMP阁片,得到BMP阁片的各种信息,包括高度、宽度,颜色为数等,同时也中请了一块内存区,用于存放RGB位值,可以通过相应方法获得该内存的指针,从而用于统计RGB信息,生成直方图,具体算法如下:for(intj=0;j

3、tmap.bmWidth;i++){trace=dc->GetPixel(i,j);app-〉color[GetRValue(trace)]++;}二值化的步骤:先取得原图的数据区指针,然后通过对话框输入阈值,然后所有像素依次循环,具体算法如下:for(intj=O;j

4、el(i,j,RGB(255*last,255*last,255*last));}【实验步骤】1、在实验二打开bmp文件的基础上,添加直方图和二值化的菜单项和相应的响应函数OnHistogram()和OnEz();2、设计用于显术直方图的对话框,并创建相应的对话框类CHistogram;在CHistogram笑中添加OnPaint()函数,用于绘制显示直方图。voidCHistogram::OnPaint(){CPaintDCdc(this);//devicecontextforpaintingCCli

5、entDCpDC(this);CImageApp*app=(CImageApp*)AfxGetApp();pDC.Rectangle(0,0,330,330);CPenpen(PS_SOLID,2,RGB(255,0,0));CPen*redpen=pDC.SelectObject(&pen);//绘制坐标轴pDC.MoveTo(10,10);pDC.LineTo(10,280);pDC.LineTo(320,280);//X轴刻度值CStringstrTemp;strTemp.Format(’’0")

6、;pDC.TextOut(10,283,strTemp);strTemp.Format("50");pDC.TextOut(60,283,strTemp);strTemp.Format("100");pDC.TextOut(l10,283,strTemp);strTemp.Format(”150");pDC.TextOut(160,283,strTemp);strTemp.Format("200”);pDC.TextOut(210,283,strTemp);strTemp.Format(M255M);p

7、DC.TextOut(265,283,strTemp);//绘制X轴刻度for(inti=0;i<256;i+=5){if((i&l)=0){//10的倍数pDC.MoveTo(i+10,280);pDC.LineTo(i+10,284);}else{//5的奇数倍数pDC.MoveTo(i+1(),280);pDC.LineTo(i+10,282);}}//绘制X轴箭头pDC.MoveTo(315,275);pDC.LineTo(320,280);pDC.LineTo(315,285);//绘制Y轴箭

8、头pDC.MoveTo(10,10);pDC.LineTo(5,15);pDC.MoveTo(10,10);pDC.LineTo(15,15);m_max=0;m_min=0;m_pr=0;LONGIMaxCount=0;for(i=0;i<=255;i++){if(app->color[i]>IMaxCount){IMaxCount=app->color[i];m_pr=i;}}//输出S大计数值pDC.MoveTo(10,25);pDC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。