多媒体技术与应用实验报告

  • 格式:doc
  • 大小:25.00 KB
  • 文档页数:6

计算机科学与技术学院

《多媒体技术》

实验一:媒体信息的获取与处理

专业: 计算机科学与技术

学号: 120341110

姓名:

教师: 张敏

完成日期:

一、实验目的:

1.通过实验加深对声音、图像、视频媒体信息的的数字化理解;

2.通过相关软件熟悉常见的音频、图像分析方法。

二、实验环境:

1.高档微机:MPC(附带耳机和麦克风)

2.操作系统:Windows 2000或XP

3.音频处理软件:Cool Edit

4.编程工具: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; %绿色分道加强100

y(:,:,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格式文件?

答:将新建文件或者是打开的文件进行另存为,并将格式存为MP3格式即可;多音轨混合得到的混合音频文件保存时将格式存为MP3。

2、 直方图是什么概念?它反映了图像的什么信息?

答:图像直方图是将图像的信息转换为数字信息展示出来;它反映了图像中不同像素点的灰度值得分布状态,同时也能显示出一个人图像的明暗。