图像类型的转换
RGB图像转换为灰度图像
I=imread('football.jpg');
X=rgb2gray(I);
figure;
subplot(121),imshow(I);
subplot(122),imshow(X);
RGB图像转换为索引图像
RGB=imread('football.jpg');
[X1,map1]=rgb2ind(RGB,64); %将RGB图像转换成索引图像,颜色种数N至少64种
[X2,map2]=rgb2ind(RGB,0.2); %将RGB图像转换成索引图像,颜色种数N至少216种
map3=colorcube(128); %创建一个指定颜色数目的RGB颜色映射表
X3=rgb2ind(RGB,map3);
figure;
subplot(131);imshow(X1,map1); %显示用最小方差法转化后的索引图像
subplot(132);imshow(X2,map2); %显示用均匀量化法转化后的索引图像
subplot(133);imshow(X3,map3); %显示用颜色近似法转化后的索引图像
灰度图像转换为索引图像
I=imread('cameraman.tif');
[X,map]=gray2ind(I,8);
figure,imshow(I);
figure,imshow(X,map);
索引图像转化为灰度图像
[X,map]=imread('forest.tif');
I=ind2gray(X,map);
figure,imshow(X,map);
figure,imshow(I);
索引图像转化为RGB图像
[X,map]=imread('kids.tif');
RGB=ind2rgb(X,map);
figure,imshow(X,map);
figure,imshow(I);
灰度图像转化为二值图像
I=imread('rice.png');
BW1=im2bw(I,0.4); %将灰度图像转换为二值图像,level值为0.4
BW2=im2bw(I,0.6);
figure;
subplot(131),imshow(I);
subplot(132),imshow(BW1);
subplot(133),imshow(BW2);
数值矩阵转化为灰度图像
X=magic(256); %产生一个256*256的方阵X
I=mat2gray(X);
figure,imshow(I);
图像文件的读写
文件信息获取
info=imfinfo('cameraman.tif'); %info:结构数组
图像文件的读取
I1=imread('football.jpg'); %读取一幅RGB图像
I2=imread('camerama','tif'); %读取一幅灰度图像
I3=imread('E:\onion.png'); %读取非当前路径下的一幅RGB图像
figure,
subplot(1,3,1),imshow(I1);
subplot(1,3,2),imshow(I2);
subplot(1,3,3),imshow(I3);
[X,map]=imread('beach.gif',2); %读取GIF图像格式文件的第2帧图像
[X1,map1]=imread('beach.gif',12); %读取GIF图像格式文件的第12帧图像
figure;
subplot(121),imshow(X,map);
subplot(122),imshow(X1,map1);
图像文件的保存
clear all;
load trees; %将文件trees.mat中的数据载入到工作空间
whos; %显示工作空间的所有变量的属性Name、Size、Bytes、Class
imwrite(X,map,'trees.bmp'); %将索引图像保存在文件名为trees,文件格式为bmp的位图文件中
图像文件的显示
图像显示函数
在matlab中用于显示图像的窗口有以下两种:
1.使用matlab图像工具浏览器,通过调用函数imtool()来实现
2.使用matlab的通用图形图像视窗,通过调用函数imshow()来实现
I=imread('lena.bmp');
imtool(I);
imshow(I);
像素信息的显示
在matlab图像处理工具箱中包含两个函数,可以返回用户指定的图像像素的数据值:
1.函数impixel():可以返回选中像素或像素集的数据值。用户可以直接将像素坐标作为该函数的输入参数或者用鼠标选中像素;
2.函数impixelinfo():在当前显示的图像中创建一个像素信息工具。这个像素信息工具显示的是鼠标光标所在图像的像素点的信息。该像素信息显示工具默认在图像窗口的在下架,其内容包括:一个字符串、在字符串后的像素信息。
RGB=imread('peppers.png');
c=[12 146 410]; %新建一个向量c,存放像素纵坐标
r=[104 156 129]; %新建一个向量r,存放像素横坐标
pixels1=impixel(RGB); %交互式用坐标选择像素
pixels2=impixel(RGB,c,r); %将像素坐标作为输入参数,显示特定像素的颜色值
pixels1,pixels2;
h=imshow('heatain.png'); %显示图像
hp=impixelinfo; %创建图像像素信息显示工具
set(hp,'Position',[150 290 300 20]); %设置像素信息工具显示的位置
figure,imshow('trees.tif'); %显示图像
impixelinfo %创建图像像素信息显示工具
视频文件的读写
视频文件的读写
1.aviinfo() aviread()
2.mmfileinfo() mmreader()
视频文件的播放
load mri;
mov=immove(D,map); %将多帧图像序列生成视频动画
implay(mov); %将视频动画进行播放