matlab image(:_:_1),matlab常用图像处理函数

imshow和image:

图像的显示是最为重要的,用imshow和image都可以显示图像,但是有一定的区别。用的不对,就会象我最初一样,老是出错,或者得到一张空白图或者是彩色图显示成颗粒状、反相黑白图等等。image是用来显示附标图像,即显示的图像上有x,y坐标轴的显示,可以看到图像的像素大小。imshow只是显示图像。

它们都可以用subplot来定位图像显示的位置,用colormap来定义图像显示用的颜色查找表,比如用colormap(pink),可以把黑白图像显示成带粉红色的图像,很有趣的。

Matlab读取avi文件,并转换为灰度图:

1.用matlab读取avi电影(只能读一定压缩各式的avi电影)

mov=aviread('highwayI_raw.A VI'); %读入电影highwayI_raw.A VI

movie(mov); %放映电影

2.将电影转成图片序列

aviread(filename, index); % 读取avi文件的第index帧图像;

例:mov = aviread('highwayI_raw.A VI',1) %读取第一帧图像

读取图像以后储存的格式是一个结构体,该结构体有两个元素:cdata和colormap

例:frame = aviread('highwayI_raw.A VI', i);

frame.cdata表示了一个数据数组,彩色图像就是3维的,灰度图像就是2维的。

frame.colormap 见(help aviread)

3.然后就是将彩色图像转换为灰度图像,很简单:

frame = aviread('highwayI_raw.A VI', i);

f_gray = rgb2gray(frame.cdata);

这样就可以将文件的第i帧转换为灰度图像。

imwrite的用法:

imwrite(recover_image, 'recover.jpg', 'jpg');

colormap

定义图像显示用的颜色查找表,比如用colormap(pink),可以把黑白图像显示成带粉红色的图像,很有趣的。

avi格式视频的读取和显示(Matlab代码)

clear data

disp('input video'); % 显示"input video"

avi = aviread('samplevideo.avi'); % avi: MATLAB movie structure

video = {avi.cdata}; % cdata: M x N x 3 的矩阵用来表示真彩色的图像

for a = 1:length(video) % length(video)表示这段视频的帧数imshow(video{a}) %按帧数顺序显示图像

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值