数字图像处理第一次作业报告资料

上传人:今*** 文档编号:108302400 上传时间:2019-10-23 格式:DOC 页数:13 大小:1.52MB
返回 下载 相关 举报
数字图像处理第一次作业报告资料_第1页
第1页 / 共13页
数字图像处理第一次作业报告资料_第2页
第2页 / 共13页
数字图像处理第一次作业报告资料_第3页
第3页 / 共13页
数字图像处理第一次作业报告资料_第4页
第4页 / 共13页
数字图像处理第一次作业报告资料_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数字图像处理第一次作业报告资料》由会员分享,可在线阅读,更多相关《数字图像处理第一次作业报告资料(13页珍藏版)》请在金锄头文库上搜索。

1、数字图像与视频处理课程第一次作业姓名: 吴佳林 班级: 自动化12 学号: 2110504047 日期: 2014.3.17 摘 要本次报告首先简单阐述了BMP图像格式及其相关数据结构,随后主要完成了作业要求中关于图像处理与计算的各项任务。本次作业以Matlab 2013a为平台,通过对lena.bmp,elain.bmp图像文件的编程处理,分别得到了lena.bmp图像的8到1级灰度逐级递减显示,lena.bmp图像的均值和方差,通过近邻、双线性和双三次插值法对lena.bmp进行4倍放大后得到的20482048尺寸图像,和对lena.bmp、elain.bmp图像分别进行水平shear变换

2、和旋转变换后的图像及其4倍插值放大图像。以上任务完成后均得到了预期的结果。 正 文1. BMP图像格式简介1.1 BMP格式概述BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。1.2 BMP格式组成典型的BMP图像文件由四部分组成:(1):位图头文件数据结构,它包含BMP

3、图像文件的类型、显示内容等信息;(2):位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;(3):调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;(4):位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。1.3 BMP格式对应数据结构BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。1.3.1 BMP文件头(14字节)BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:typedef st

4、ruct tagBITMAPFILEHEADER WORD bfType; / 位图文件的类型,必须为BM(1-2字节) DWORD bfSize; / 位图文件的大小,以字节为单位(3-6字节) WORD bfReserved1; / 位图文件保留字,必须为0(7-8字节) WORD bfReserved2; / 位图文件保留字,必须为0(9-10字节) DWORD bfOffBits; / 位图数据的起始位置,以相对于位图(11-14字节) / 文件头的偏移量表示,以字节为单位 BITMAPFILEHEADER;1.3.2 位图信息头(40字节)BMP位图信息头数据用于说明位图的尺寸等信息

5、。typedef struct tagBITMAPINFOHEADER DWORD biSize; / 本结构所占用字节数(15-18字节) LONG biWidth; / 位图的宽度,以像素为单位(19-22字节) LONG biHeight; / 位图的高度,以像素为单位(23-26字节) WORD biPlanes; / 目标设备的级别,必须为1(27-28字节) WORD biBitCount;/ 每个像素所需的位数,必须是1(双色),(29-30字节) / 4(16色),8(256色)16(高彩色)或24(真彩色)之一 DWORD biCompression; / 位图压缩类型,必须

6、是 0(不压缩),(31-34字节) / 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; / 位图的大小(其中包含了为了补齐行数是4的倍数而添加的空字节),以字节为单位(35-38字节) LONG biXPelsPerMeter; / 位图水平分辨率,每米像素数(39-42字节) LONG biYPelsPerMeter; / 位图垂直分辨率,每米像素数(43-46字节) DWORD biClrUsed;/ 位图实际使用的颜色表中的颜色数(47-50字节) DWORD biClrImportant;/ 位图显示过程中重要的颜色数(51-54

7、字节) BITMAPINFOHEADER;1.3.3 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:typedef struct tagRGBQUAD BYTE rgbBlue;/ 蓝色的亮度(值范围为0-255) BYTE rgbGreen; / 绿色的亮度(值范围为0-255) BYTE rgbRed; / 红色的亮度(值范围为0-255) BYTE rgbReserved;/ 保留,必须为0 RGBQUAD; 颜色表中RGBQUAD结构数据的个数有biBitCount来确定: 当biBitCount=1

8、,4,8时,分别有2,16,256个表项; 当biBitCount=24时,没有颜色表项。 位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:typedef struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader; / 位图信息头 RGBQUAD bmiColors1; / 颜色表 BITMAPINFO; 1.3.4 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右, 扫描行之间是从下到上。位图的一个像素值所占的字节数:当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字

9、节;当biBitCount=8时,1个像素占1个字节;当biBitCount=24时,1个像素占3个字节,按顺序分别为B,G,R;Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位), 不足的以0填充。2. 把lena 512*512图像灰度级逐级递减8-1显示2.1 实验原理给定的lena.bmp是一幅8位灰阶的图像,即有256个灰度色。则K位灰阶图像中某像素的灰度值(以阶色为基准)与原图同像素的灰度值(以256阶色为基准)的对应关系为: (1.1)(1.1)式中函数为向下取整操作。取一确定k值,对原图进行上式运算即得降阶后的k位灰阶图像矩阵。值得注意的是,此时的白色

10、灰度值变为而不一定是255,这一点在显示图像时需要考虑。2.2 实验方法首先通过imread()函数读入lena.bmp并转换成double型放至变量lena。再依照(1.1)式对lena矩阵进行灰度降阶运算,将结果保留至lena_alter变量。最后利用imshow()函数及其自适应灰度显示功能将lena_alter(以256阶色基准)显示出来。8阶至1阶图像整体呈现由for循环实现。2.3 实验结果程序运行结果如图1.1所示:图1.1由上图可以看出,在灰度级下降到5之前,肉眼几乎感觉不出降阶后图像发生的变化。但从4灰度级开始,肉眼明显能感觉到图像有稍许的不连续,与原图灰度渐变区对应位置灰度

11、不连续的现象表现更加明显。随着灰度阶数的继续下降,图像开始出现大片的伪轮廓,最终的极端情况是退化为只有黑白两色的二值化图像。由此可以得出,图像采样的灰度阶数越高,肉眼看去更接近与现实情况。3.计算lena 图像的均值与方差3.1 实验原理对分辨率为的灰度图像,其均值和方差分别为: (2.1) (2.2)3.2 实验方法通过imread()函数读入lena.bmp并转换成double型放至变量lena,再利用MATLAB中提供的求二维矩阵全体元素均值和方差的函数mean2()和std2()分别求取lena的均值和方差并存入lena_avg和lena_var,最后通过fpringtf()输出结果。

12、3.3 实验结果图像的均值为:99.051图像的方差为:2796.043在这里,图像的均值可反应图像整体的明暗程度,而方差可以反应图像整体的对比度情况。4.把lena图像用近邻、双线性和双三次插值法zoom到2048*2048 4.1 实验原理图像插值就是利用已知邻近像素点的灰度值来产生未知像素点的灰度值,以便由原始图像再生出具有更高分辨率的图像。典型方法包括最近邻、双线性、双三次三种方法。最邻近插值法就是将待插值点像素的灰度值取为其相对于原图坐标中最邻近像素点的灰度值。这种方法比较简单,计算速度快,但效果不好,会产生严重的“棋盘格”效应。双线性插值法是将待插值点像素的灰度值取为其在原图坐标中

13、距离最近的4个像素点灰度值的加权和。具体关系式为: (3.1)其中为待插值点在原图中的相对整数坐标,为待插值点在原图中的相对小数坐标。双线性插值法可以比较平滑得对图像进行插值,效果令人满意,但计算速度较最邻近法有所下降。双三次插值是一种更加复杂的插值方式,其插值函数为: (3.2)通过待插值像素点周围 9 个点的灰度值,可以结合导数信息列出线性方程组求解系数向量。双三次插值法较双线性插值法能显示更多的细节,效果更好,但计算开销较大,速度不理想。4.2 实验方法为使实验代码更具模块化且易于修改和维护,这里将三种插值算法封装为功能函数(分别为my_imresize_n(),my_imresize_

14、b(),my_imresize_c() )供插值集成函数my_imresize()格式化调用。在最邻近法的实现中,通过对待插值点的相对坐标取四舍五入得到最邻近像素点灰度值,完成了对目标点像素的赋值。在双线性法的实现中,待插值点的灰度值由(3.1)式计算得出。在双三次法的实现中,待插值点的灰度值由(3.2)式计算得出,而(3.2)式中的插值函数系数由待插值点最近四点以及右下侧五点共九个点的灰度值带入含有微分信息的16元1次方程组得出。以上三种方法均通过扩充原图矩阵边缘行列数规避了坐标索引溢出或不为非负值的问题。4.3 实验结果对lena.bmp图像利用三种插值方法得到如图2.1所示结果:图2.1放大后细节表现如图2.2所示:图2.2由图2.2可清楚看到,经过最邻近插值后的图像产生的“棋盘格”效应,而后两种插值方法表现的效果比较平滑,令人满意。三种方法在实验中运行的时间分别为:nearest :5.228sbilinear :9.880sbicubic :34.299s可见双三次

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号