多媒体技术与应用实验报告集团标准化小组:[VVOPPT-JOPP28-JPPTL98-LOPPNN]计算机科学与技术学院《多媒体技术》实验一:媒体信息的获取与处理专业:计算机科学与技术姓名:教师:张敏完成日期:一、实验目的:1.通过实验加深对声音、图像、视频媒体信息的的数字化理解;2.通过相关软件熟悉常见的音频、图像分析方法。
二、实验环境:1.高档微机:MPC(附带耳机和麦克风)2.操作系统:Windows 2000或XP3.音频处理软件:Cool Edit4.编程工具:Matlab7.0实验过程:(一)、音频处理1、音频的采集使用Cool Edit录制声音。
新建一个声音文件,选择合适的声音声音格式(22050Hz、16位、单声道)单击左下方的红色按钮即可开始录音。
2、音频降噪在波形文件中选中噪音段波形,然后选择“效果(T)——噪音消除——降噪器”,出现如图所示窗口。
单击噪音采样,然后关闭窗口,选中整段的波形文件,重新打开降噪窗口,单击确定即可完成降噪工作。
3、添加混响效果选中菜单栏中的“效果(T)——常用效果器——混响”,出现如下的窗口。
在此可根据自己的需要添加相应的效果,也可以在“效果(T)——常用效果器”中选择其他效果进行添加。
4、录音与伴奏混缩将录制好的音频文件与伴奏在多轨编辑窗口中进行音轨混缩,制作合成的音频文件,并储存为MP3格式。
(二)、基于Matlab的图像分析1、彩色图像处理利用matlab提供的图像文件读取函数imread()可以将图像文件读取到相应的矩阵中,便于对图像的处理。
接着可以分别利用matlab提供的彩色图像处理的一些函数将图像不同颜色通道的分量进行提取、加强等。
处理结果可有显示函数imshow显示。
彩色图像读取x=imread('1.JPG') %读入图像imshow(x) %显示图像彩色图像分通道显示x_r=x(:,:,1); %红色分道x_g=x(:,:,2); %绿色分道x_b=x(:,:,3); %蓝色分道imshow(x_r)imshow(x_g)imshow(x_b)彩色图像绿色通道颜色加强并显示x_gg=x_g+100; %绿色分道加强100y(:,:,1)=x_r;y(:,:,2)=x_gg;y(:,:,3)=x_b;subplot(1,2,1),imshow(x); %显示原图像Subplot(1,2,2),imshow(y) %显示加强后的图像2、图像二值化Matlab中提供了大量的图像信息处理的函数,包括将彩色图像灰度化,灰度图像二值化,获取灰度图像的灰度值直方图等。
试验将一副三通道的彩色图像利用函数rgb2gray()先灰度化,然后利用函数im2bw()根据不同的阙值将灰度图像二值化并分别显示。
实验结果如彩色图像转换为灰度图像并显示rgb=imread('CAMERA.BMP');rgb1=rgb2gray(rgb); %进行灰度subplot(1,2,1),imshow(rgb); %显示原图像title('原图');subplot(1,2,2),imshow(rgb1); %显示灰度图像title('灰度图')显示灰度图像直方图c=imread('camera_enh1.bmp'); %读取灰度图像subplot(3,2,1),imshow(c)subplot(3,2,2),imshow(c)d=histeq(rgb1); %直方图均衡化subplot(3,2,3),imshow(d)subplot(3,2,4),imshow(d)figure(2)subplot(3,2,3),imhist(rgb1,64)subplot(3,2,4),imhist(d,64)参考灰度图像直方图,将灰度图像按照4种不同阈值分别转换为二值图像y1=im2bw(rgb1,0.6); %4种不同的阈值y2=im2bw(rgb1,0.5);y3=im2bw(rgb1,0.4);y4=im2bw(rgb1,0.3);subplot(2,2,1),imshow(y1) %显示四种不同阈值图像subplot(2,2,2),imshow(y2)subplot(2,2,3),imshow(y3)subplot(2,2,4),imshow(y4)3、图像运算Matlab中还提供了一些图像运算的函数,来实现图像信息矩阵的加减乘除四则运算。
实验中选取了两幅图片,分别用函数imadd()、imsubtract()、immultiply()和imdivide()对图像进行加减乘除运算。
实现两幅大小相同的灰度图像加减乘除四种运算,并在同一界面上下左右四个位置分别显示x=imread('hudie2.JPG');y=imread('hudie3.JPG');u=imadd(x,y); %图像相加imwrite(u,' C:\实验一图像素材\hudie5.JPG')subplot(2,2,1),imshow(u);v=imsubtract(x,y); %图像相减imwrite(u,'C:\实验一图像素材\hudie1.JPG')subplot(2,2,2),imshow(v)w=immultiply(x,y); %图像相乘imwrite(u,'C:\实验一图像素材\hudie6.JPG')subplot(2,2,3);imshow(w)z=imdivide(x,y); %图像相除imwrite(u,'C:\实验一图像素材\hudie0.JPG')subplot(2,2,4),imshow(z)4、图几何变换利用matlab提供的函数也可以将图像进行放大、缩小、旋转和剪切等几何变换。
相应的函数分别为:放大或缩小imresize()、图像旋转imrotate()、图像切割imcrop()。
实验中分别对图像进行了放大两倍、缩小两倍、逆时针旋转45°、二分之一切割等操作。
进行二分之一操作时,先是用size()函数获取图像的大小信息,然后将函数大小作为参数进行切割。
利用双三次插值方法将原始图像分别进行放大和缩小为原来的两倍k=imread('C:\实验一图像素材\pout.tif');imshow(k)o=imresize(k,2,'bicubic'); %放大2倍p=imresize(k,0.5,'bicubic'); %缩小2倍imshow(o) %显示放大2倍图imshow(p) %显示缩小2倍图利用双线性插值方法将原始图像逆时针旋转45度k1=imrotate(k,-45,'bicubic'); %逆时针旋转45度,不进行剪切subplot(1,2,1),imshow(k1) %显示旋转后图像title('旋转后图像,未剪切');k2=imrotate(k,-45,'bicubic','crop'); %逆时针旋转45度,进行剪切subplot(1,2,2),imshow(k2) %剪切旋转后图像title('剪切旋转后图像');将原始图像进行二分之一剪切x=imread('C:\实验一图像素材\1.JPG ');subplot(1,2,1),imshow(x) %显示原图title('原图')x1=imcrop(x,[64,64,136,136]);subplot(1,2,2),imshow(x1) %显示剪切为原来的二分之一图像title('剪切为原来的二分之一图像');5、图像拼接Matlab中提供的cat()函数可以根据参数的不同和参数顺序来对两幅图像进行相应的拼接,将两幅图像拼接在一起。
实验中选择了四幅大小相同的图片,进行让图片处于不同位置的拼接,来展示cat()函数的特点。
将四幅大小相同的图像进行拼接,分别位于整个图像的上下左右四个位置A1=imread('1.JPG')A2=imread('hudie2.JPG')A3=imread('lena.bmp')A4=imread('cameraman.tif')A=[A1,A2;A3,A4] %拼接imshow(A)实验心得体会:通过实验更加清楚地了解了音频和图像文件的信息存储方式,掌握了基本的软件使用和文件操作的方法。
思考题:1、如何利用Cool Edit 2000创建MP3格式文件?2、答:将新建文件或者是打开的文件进行另存为,并将格式存为MP3格式即可;多音轨混合得到的混合音频文件保存时将格式存为MP3。
3、直方图是什么概念它反映了图像的什么信息4、答:图像直方图是将图像的信息转换为数字信息展示出来;它反映了图像中不同像素点的灰度值得分布状态,同时也能显示出一个人图像的明暗。