- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江南大学数字图像处理技术实验1报告
实验报告
课程名称:数字图像处理技术
实验名称——实验一 数字图像基本操作及图像变换
实验日期:2013-4-5
班级: 数媒1001 姓名:郭岩崑 学号 0305100105 仪器编号:
一、实验目的:
1.了解使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;
2.体会像素概念
3.掌握图像文件的各种存储格式,并能实现图像文件的读取与显示
4.掌握图像基本操作
5. 掌握图像变换技术
二、实验要求
1. 利用程序实现打开附件中的“lena.bmp”文件或是自己的bmp文件,读取该文件的信息并写到“new.bmp”中。
2. 利用程序实现“lena.bmp”图像的傅里叶变换和反变换。
3. 利用程序实现“lena.bmp”图像的离散余弦变换和反变换。
4. 把实现上面要求的程序发到jsj_chen@163.com邮箱中。
备注:实验中除可以利用“lena.bmp”图像,也可以自己找图像。
三、实验内容
离散余弦变换(DCT)
if(m_pImgDataOut!=NULL)
{
delete []m_pImgDataOut;
m_pImgDataOut=NULL;
}
//计算图像每行的字节数
int lineByte=(m_imgWidth*m_nBitCount/8+3)/4*4;
if(m_nBitCount!=8)
{
AfxMessageBox(只能处理8位灰度图像!);
return ;
}
//分配内存,以保存新图像
m_nBitCountOut=m_nBitCount;
int lineByteOut=(m_imgWidth*m_nBitCountOut/8+3)/4*4;
if (!m_pImgDataOut)
{
//为处理后的图像分配内存空间
m_pImgDataOut=new unsigned char[lineByteOut*m_imgHeight];
}
int pixelByte=m_nBitCountOut/8;
for(i=0; im_imgHeight; i++){
for(j=0; jm_imgWidth*pixelByte; j++)
*(m_pImgDataOut+i*lineByteOut+j)= *(m_pImgData+i*lineByteOut+j);
}
// 赋初值
w = 1;
h = 1;
wp = 0;
hp = 0;
// 计算进行离散余弦变换的宽度和高度(2的整数次方)
while(w * 2 = m_imgWidth)
{
w *= 2;
wp++;
}
while(h * 2 = m_imgHeight)
{
h *= 2;
hp++;
}
double *f = new double[w * h];
pDctBuff = new double[w * h];
double *F = pDctBuff;
for(i = 0; i h; i++) // 行
{
for(j = 0; j w; j++) // 列
{
// 指向DIB第i行,第j个象素的指针
pSrc = (unsigned char*)m_pImgData + lineByte * (m_imgHeight - 1 - i) + j;
// 给时域赋值
f[j + i * w] = *(pSrc);
}
}
for(i = 0; i h; i++)
{
// 对y方向进行离散余弦变换
DCT(f[w * i], F[w * i], wp);
}
// 保存计算结果
for(i = 0; i h; i++)
{
for(j = 0; j w; j++)
{
f[j * h + i] = F[j + w * i];
}
}
for(j = 0; j w; j++)
{
// 对x方向进行离散余弦变换
DCT(f[j * h], F[j * h], hp);
}
for(i = 0; i h; i++) // 行
{
for(j = 0; j w; j++) // 列
{
//指向新DIB第i行第j列的像素的指针
pDst = m_pImgDataOut + lineByte * (m_imgHeight -1 - i) + j;
dTemp = fabs(F[j*h+i]); // 计算频谱
// 判断是否超过255
您可能关注的文档
- 汉江安康站最大最小泾流量的数学模型.doc
- 汉硕古代汉语常考知识点.doc
- 汉英禁忌语和委婉语的对比研究.doc
- 汉英翻译能力的培养.doc
- 汉英语言中的文化差异与翻译策略.doc
- 汉译英是我历来推崇的练习方式.doc
- 汉语合音词的语音构成类型及语义语法问题.doc
- 汉语和英语思维方式的差异.doc
- 汉语国际教育教学实践调查问卷.doc
- 汉语国际教育硕士基础试题中的案例分析与写作.doc
- GB/T 45498.2-2025中华人民共和国社会保障卡一卡通规范 第2部分:应用规范.pdf
- GB/T 37507-2025项目、项目群和项目组合管理项目管理指南.pdf
- 《GB/T 45498.3-2025中华人民共和国社会保障卡一卡通规范 第3部分:安全规范》.pdf
- 中国国家标准 GB/T 37507-2025项目、项目群和项目组合管理项目管理指南.pdf
- 中国国家标准 GB/T 20236-2025非金属材料的聚光加速户外暴露试验方法.pdf
- 《GB/T 20236-2025非金属材料的聚光加速户外暴露试验方法》.pdf
- 《GB/T 9065.2-2025液压传动连接 软管接头 第2部分:24°锥形》.pdf
- 中国国家标准 GB/T 33523.600-2025产品几何技术规范(GPS) 表面结构:区域法 第600部分:区域形貌测量方法的计量特性.pdf
- 《GB/T 33523.600-2025产品几何技术规范(GPS) 表面结构:区域法 第600部分:区域形貌测量方法的计量特性》.pdf
- GB/T 33523.600-2025产品几何技术规范(GPS) 表面结构:区域法 第600部分:区域形貌测量方法的计量特性.pdf
文档评论(0)