图像金字塔实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生实验报告

实验报告注意事项

1. 课前必须认真预习实验,认真书写预习报告,了解实验步骤,未预习或预习

达不到要求的学生不准参加实验;

2. 实验完毕,必须将结果交实验指导教师进行检查,并将计算机正常关机、将

仪器设备、用具及椅子等整理好,方可离开实验室;

3. 按照实验要求书写实验报告,条理清晰,数据准确;

4. 当实验报告写错后,不能撕毁,请在相连的实验报告纸上重写;

5.实验报告严禁抄袭,如发现抄袭实验报告的情况,则抄袭者与被抄袭者该次

实验以0分计;

6. 无故缺实验者,按学院学籍管理制度进行处理;

7. 课程结束后实验报告册上交实验指导教师,并进行考核与存档。

实验项目( ) —预习报告

实验

名称

图像金字塔实验

实验目的及要求1、了解图像采样的概念,以及采样与分辨率变化之间的关系。

2、通过仿真实验,理解图像金字塔的含义。

3、通过拉普拉斯残差金字塔,观察四层图像金字塔的实验结果,掌握利用残差重构原图像的原理与过程。

实验内容及原理实验内容:

1、利用OpenCV 完成图像四个图像层方面的采样并显示。

依据OpenCV自带两种图像金字塔函数,实现四层图像采样并显示。

2、利用拉普拉斯图像金字塔原理,实现四层图像采样并显示。

实验原理:

图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。

拉普拉斯金字塔:用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用。拉普拉斯金字塔中的图像可用对高斯金字塔中相邻两层图象的相减而近似得到。需先将图像在较粗的尺度(较高的层次)上扩展。扩展比减少尺寸的压缩困难,因为缺少的信息需要通过插值来得到。

如果想放大图像,则需要通过向上取样操作得到,具体做法如下:

(1)将图像在每个方向扩大为原来的两倍,新增的行和列以0填充.

(2)使用先前同样的内核(乘以4)与放大后的图像卷积,获得“新增像素”的近似值。

得到的图像即为放大后的图像,但是与原来的图像相比会发觉比较模糊,因为在缩放的过程中已经丢失了一些信息,如果想在缩小和放大整个过程中减少信息的丢失,这些数据形成了拉普拉斯金字塔。

拉普拉斯金字塔在图像融合中有所应用,方法是首先对两个待融合图像求拉普拉斯残差金字塔,然后用模板对每一级残差图像进行融合得到融合后图像的残差金字塔,然后对这个金字塔进行重构就能得到最终的融合图像,图像各尺度细节得到保留。

预习过程中的疑问图像采样和分辨率变化的关系

如何利用拉普拉斯金字塔原理进行图像采样

实验项目( ) —实验报告

实验

名称

图像金字塔实验指导教师

实验室实验日期2016.5.30 分组

情况

成绩

实验步骤(算法、代码、方法等)实验步骤

(1)//#include

//#include

//

//using namespace cv;

//

//int main( )

//{

// //载入原始图

// IplImage*temp=cvLoadImage("lena.jpg");

// //Mat srcImage = imread("lena.jpg"); //工程目录下应该有一张名为.jpg的素材图

// Mat srcImage(temp);

// Mat tmpImage,dstImage1,dstImage2;//临时变量和目标图的定义

// tmpImage=srcImage;//将原始图赋给临时变量

//

// //显示原始图

// imshow("【原始图】", srcImage);

//

// //进行尺寸调整操作

// resize(tmpImage,dstImage1,Size( tmpImage.cols/2, tmpImage.rows/2 ),(0,0),(0,0),3);

// resize(tmpImage,dstImage2,Size( tmpImage.cols*2, tmpImage.rows*2 ),(0,0),(0,0),3);

//

// //显示效果图

// imshow("【效果图】之一", dstImage1);

// imshow("【效果图】之二", dstImage2);

//

// waitKey(0);

// return 0;

//}

#include

#include

using namespace cv;

int main( )

{

//载入原始图

IplImage*temp=cvLoadImage("lena.jpg");

//Mat srcImage = imread("1.jpg"); //工程目录下应该有一张名为.jpg的素材图Mat srcImage(temp);

Mat tmpImage, dstImage;//临时变量和目标图的定义

tmpImage=srcImage;//将原始图赋给临时变量

//显示原始图

imshow("【原始图】", srcImage);

//进行向上取样操作

相关文档
最新文档