数字图像处理实验5-图像增强(2).doc

上传人:wj 文档编号:119525 上传时间:2022-10-03 格式:DOC 页数:4 大小:44KB
下载 相关 举报
数字图像处理实验5-图像增强(2).doc_第1页
第1页 / 共4页
数字图像处理实验5-图像增强(2).doc_第2页
第2页 / 共4页
数字图像处理实验5-图像增强(2).doc_第3页
第3页 / 共4页
数字图像处理实验5-图像增强(2).doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字图像处理实验5-图像增强(2).doc

《数字图像处理实验5-图像增强(2).doc》由会员分享,可在线阅读,更多相关《数字图像处理实验5-图像增强(2).doc(4页珍藏版)》请在冰豆网上搜索。

数字图像处理实验5-图像增强(2).doc

班级:

数字图像处理

实验时间:

200年月日 实验小组:

第组

组长:

组员:

组员:

指导教师签名:

实验情况评定:

实验五图像增强

(2)

实验目的:

通过实验掌握下列知识:

1、学习常见的图像增强的方法并实际体会图像增强前后画质的变化;

2、了解几种不同增强方式用于不同图像处理所取得的效果(削波处理和阈值化处理);

3、初步掌握简单算法的代码实现的方法;

4、初步了解MFC的一些初步编程技巧;

内容及步骤

一、通过VC实现一个削波处理:

1、继续按照前几节的实验课介绍的方法,建立一个ImageProcessingWizard工程;

2、利用试验三和实验四介绍的方法,通过CBmp类读入“数字图像处理实验”文件夹中的“样品.bmp”,并相应在各消息函数里添加必须的代码;

3、在上述代码中间添加图形增强的代码,应该注意:

读取的是彩色图形,所以在进行削波处理时,也必须应针对每一个基色分别进行削波处理;

4、削波处理的参数:

a=0,b=210;

5、运行并观察运行结果;

二、通过VC实现一个阈值化处理:

1、步骤1与上一个实验相同,仍旧是针对“数字图像处理实验”文件夹中的“样品.bmp”,这个实验是进行图形的阈值化处理;

2、利用前面介绍的方法,通过CBmp类读入“数字图像处理实验”文件夹中的“样品.bmp”,并相应在各消息函数里添加必须的代码;

3、应该注意:

读取的是彩色图形,所以在进行灰度窗口变换时,应该先将彩色图象转换为灰度图象,然后再进行阈值化处理;

4、阈值化处理的参数:

a=175;

5、运行并观察运行结果;

注:

结构rgb有一个成员函数graylevel可以进行彩色图象的灰度变换,代码例子如下:

structrgbtx=bmp1->pImageData[j*bmp1->nWidth+i];

doublegrayx=tx.graylevel();

实验报告要求:

1、记录你编写的削波处理实验代码,同时观察并纪录经过削波处理的效果;

实验代码:

voidCMy5Dlg:

:

OnOK()

{

doublea=0,b=210,mf=230,mg=220;

//TODO:

Addextravalidationhere

for(inti=0;inWidth;i++)

for(intj=0;jnHeight;j++){

structrgbtx;

tx=bmp1->pImageData[j*bmp1->nWidth+i];

if(tx.red<=b&&tx.red>=0)

{

tx.red=mg/b*tx.red;

}

elseif(b<=tx.red&&mf>=tx.red)

{

tx.red=(mg/(mf-b))*tx.red;

}

if(tx.grn<=b&&tx.grn>=0)

{

tx.grn=mg/b*tx.red;

}

elseif(b<=tx.grn&&mf>=tx.grn)

{

tx.grn=(mg/(mf-b))*tx.grn;

}

if(tx.blu<=b&&tx.blu>=0)

{

tx.blu=mg/b*tx.blu;

}

elseif(b<=tx.blu&&mf>=tx.blu)

{

tx.blu=(mg/(mf-b))*tx.blu;

}

//tx.grn=((d-c)/(b-a))*(tx.grn-a)+c;

//tx.blu=((d-c)/(b-a))*(tx.blu-a)+c;

//intx=(tx.red+tx.grn+tx.blu)/3;

pDC->SetPixel(i,j,RGB(tx.red,tx.grn,tx.blu));

}

//TODO:

Addextravalidationhere

}

2、记录你编写的阈值化处理的实验代码。

voidCMy5Dlg:

:

OnOK()

{

doublea=175,mf=220,mg=230;

//TODO:

Addextravalidationhere

for(inti=0;inWidth;i++)

for(intj=0;jnHeight;j++){

structrgbtx;

tx=bmp1->pImageData[j*bmp1->nWidth+i];

doublegrayx=tx.graylevel();

if(grayx

{

tx.red=0;

tx.grn=0;

tx.blu=0;

}

elseif(b<=grayx&&mf>=grayx)

{

tx.red=mg;

tx.grn=mg;

tx.blu=mg;

}

//tx.grn=((d-c)/(b-a))*(tx.grn-a)+c;

//tx.blu=((d-c)/(b-a))*(tx.blu-a)+c;

//intx=(tx.red+tx.grn+tx.blu)/3;

pDC->SetPixel(i,j,RGB(tx.red,tx.grn,tx.blu));

}

//TODO:

Addextravalidationhere

}

4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1