图像处理课程设计实验报告

图像处理课程设计实验报告

ID:39574815

大小:124.00 KB

页数:24页

时间:2019-07-06

图像处理课程设计实验报告_第1页
图像处理课程设计实验报告_第2页
图像处理课程设计实验报告_第3页
图像处理课程设计实验报告_第4页
图像处理课程设计实验报告_第5页
资源描述:

《图像处理课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、图像处理课程设计实验报告一、实验目的:熟悉VisualC++编程环境及数字图像处理的基本方法,并运用VisualC++编写一些基本的图象处理程序,如点处理、图像增强、正交变换等几个方面。二、实验内容:各部分核心程序及其注释。读入图像:根据BMP格式的图像数据结构,文件的信息依次是图像的文件头BITMAPFILEHEADER、图像的信息头BITMAPINFOHEADER、调色板1024个字节,其后才是我们所要的图像的灰度值信息,我们就把后面的灰度值信息写入DATA数组。而后所有的图像处理的源数据都来自该数组。CFilefile;CFil

2、eExceptionfe;file.Open(lpszPathName,CFile::modeRead

3、CFile::shareDenyWrite,&fe);BITMAPFILEHEADERbmfHeader;BITMAPINFOHEADERbmiHeader;//读入图像的文件头和信息头file.Read((LPSTR)&bmfHeader,sizeof(bmfHeader));file.Read((LPSTR)&bmiHeader,sizeof(bmiHeader));//读入图像的宽和高width=bmiHeader.biWid

4、th;height=bmiHeader.biHeight;HANDLEhDIB;LPSTRlpDIB;DWORDdwSize;dwSize=file.GetLength();hDIB=(HANDLE)::GlobalAlloc(GMEM_MOVEABLE

5、GMEM_ZEROINIT,dwSize);lpDIB=(LPSTR)::GlobalLock((HGLOBAL)hDIB);//读入图像的调色板和灰度值信息file.ReadHuge(lpDIB,dwSize-sizeof(bmfHeader)-sizeof(bmiHeader))

6、;//跳过调色板部分lpDIB=lpDIB+256*4;//把图像的灰度值写入数组inti,j;for(j=height-1;j>=0;j--)for(i=0;iwidth;height=pDoc->height;for(j=0;jheight;j++)for(i=0;iwidth;i++)//由于是灰度图像所

7、以R、G、B的值一样pDC->SetPixel(i,j,RGB(Data[j*width+i],Data[j*width+i],Data[j*width+i]));显示直方图:voidCBmpView::OnViewIntensity(){CIntensityDlgdlg;inti;dlg.m_lheight=height;dlg.m_lwidth=width;for(i=0;i<256;i++)dlg.m_lCount[i]=0;//统计直方图for(i=0;i

8、i]]++;dlg.DoModal();}voidCIntensityDlg::OnPaint(){CPaintDCdc(this);//devicecontextforpainting//字符串CStringstr;//循环变量longi;//最大计数longlMaxCount=0;//获取绘制坐标的文本框CWnd*pWnd=GetDlgItem(IDC_COORD);//指针CDC*pDC=pWnd->GetDC();pWnd->Invalidate();pWnd->UpdateWindow();pDC->Rectangle(0,

9、0,330,300);//绘制坐标轴pDC->MoveTo(10,10);//垂直轴第24页pDC->LineTo(10,280);//水平轴pDC->LineTo(320,280);//写X轴刻度值str.Format("0");pDC->TextOut(10,283,str);str.Format("50");pDC->TextOut(60,283,str);str.Format("100");pDC->TextOut(110,283,str);str.Format("150");pDC->TextOut(160,283,str)

10、;str.Format("200");pDC->TextOut(210,283,str);str.Format("255");pDC->TextOut(265,283,str);//绘制X轴刻度for(i=0;i<256

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

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

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