- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字图像处理实验说明指导书
数字图像处理实验说明
实验目的:
实现图像显示的功能,用打点和快速显示的方式实现
对图像进行求反
绘制图像的直方图
对图像进行均衡和规定化操作
阈值变换
图像的正交变换(傅立叶正变换,傅立叶反变换,离散余旋正反变换,沃尔什变换)
滤波器的实现(低、带、高通,分别用理想,巴特沃斯,梯形,以及指数滤波实现)
图像平滑以及中值滤波
9.图像锐化(梯度锐化,拉普拉斯锐化)
10.图像退化及复原(加亮点以及加随机噪声)
11.图像边缘检测(Robert检测,拉普拉斯检测,索贝尔检测,kirsch边缘检测)
实验步骤
实现图像显示的功能,用打点和快速显示的方式实现
实现图像显示首先要读取图象的文件头,文件位图信息头,调色板以及图像数据信息,依次读取图像的每个像素值,然后用打点显示在对应位置显示出该点的像素值,注意的一点是应该用256减去读取得坐标才会显示正常的图像,否则图像会是倒置的,具体的VC++语言实现程序为:
void CWplView::OnDraw(CDC* pDC)
{ BeginWaitCursor();
CWplDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
int i,j;
int R,G,B;
lpBMP=(LPSTR)::GlobalLock((HGLOBAL)pDoc-GetHDIB());
if(lpBMP==NULL)//防止内存不足
{
return;
}
lpDIBBits=::FindDIBBits(lpBMP);
// 指向BITMAPINFO结构的指针(Win3.0)
LPBITMAPINFO lpbmi;
// 获取指向BITMAPINFO结构的指针(Win3.0)
lpbmi = (LPBITMAPINFO)lpBMP;
height=::DIBHeight(lpBMP);
width=::DIBWidth(lpBMP);
lLineBytes = WIDTHBYTES(width * 8);
f(flag==1)//打点显示
{
for (i = 0; i height; i ++)
{
for (j = 0; j width; j ++)
{
lpSrc = (unsigned char *)lpDIBBits + lLineBytes * i + j;
R=lpbmi-bmiColors[*lpSrc].rgbRed;
G=lpbmi-bmiColors[*lpSrc].rgbGreen;
B=lpbmi-bmiColors[*lpSrc].rgbBlue;
pDC-SetPixel(j,height-i,RGB(R,G,B));
}
}
}
else// 快速
{
HDIB hDIB = pDoc-GetHDIB();
if (hDIB != NULL)
{
LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
int cxDIB = (int) ::DIBWidth(lpDIB);
int cyDIB = (int) ::DIBHeight(lpDIB);
::GlobalUnlock((HGLOBAL) hDIB);
CRect rcDIB;
rcDIB.top = rcDIB.left = 0;
rcDIB.right = cxDIB;
rcDIB.bottom = cyDIB;
CRect rcDest;
::PaintDIB(pDC-m_hDC, rcDest, pDoc-GetHDIB(),
rcDIB, pDoc-GetDocPalette());
}
对图像进行求反
图像求反是灰度的一种线性变换,可以用灰度变换方程来实现,实现代码为:
{unsigned char* lpSrc;
// 循环变量
LONG i;
LONG j;
LONG lLineBytes;
FLOAT fTemp;
lLineBytes = WIDTHBYTES(lWidth * 8);
for(i = 0; i lHeight; i++)
{
for(j = 0; j lWidth; j++)
{lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
fTemp = fA * (*lpSrc) + fB;
if (fTemp 255)
{
*lpSrc = 255;
}
else if (fTemp 0)
您可能关注的文档
- 2006学年浙江省高三年级五校联考(一).doc
- 课程复变函数与积分变换A卷.doc
- 近百年北极涛动对中国冬季气候的影响-论文.doc
- 基于房价租金比的城市住宅空间价格分布实证研究.doc
- 关于城市住宅价格统计、城市居民购房能力探索.doc
- 等离子加热六流连铸中间包底吹气过程-范文.doc
- 安全专家内网安全管理系统教案.doc
- 信号处理原理期末练习题.doc
- 浙江省2007年4月自学考试电脑动画试题.doc
- 信号处理期中考试试卷.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)