例子1:真彩色图像转换为灰度图像 >> I=imread('123.jpg'); %读取图像
>> X=rgb2gray(I); %将RGB图像I转换为灰度图像X >> figure;
>> subplot(121);imshow(I); %显示原图像I >> subplot(122);imshow(X); %显示灰度图像X
例子2:灰度图像转换为二值图像 >> subplot(121);imshow(I); >> subplot(122);imshow(X); >> BW1=im2bw(X,0.4); >> BW2=im2bw(X,0.6); >> figure;
>> subplot(131),imshow(X); >> subplot(132),imshow(BW1); >> subplot(133),imshow(BW2);
例子3:RGB图像转换为二值图像 I=imread('123.jpg'); BW=im2bw(I,0.5); figure,
subplot(121),imshow(I); subplot(122),imshow(BW);
%读取图像信息 %将RGB图像转换为二值图像,阈值0.5
%显示原图像
%显示转换后二值图像
例子4:将RGB图像转换为灰度图像并保存
>> I=imread('123.jpg'); >> X=rgb2gray(I);
>> imwrite(X,'12.bmp');
例子5:设置灰度上下限显示图像 >> I=imread('12.bmp');
>> subplot(121),imshow(I,128); >> subplot(122),imshow(I,[60,120]);
例子6:利用image()显示坐标轴
I=imread('12.bmp'); %读取图像信息
set(0,'defaultFigurePosition',[100,100,1000,500]); %修改图形图像位置的默认设置(初试位置,宽,高)
set(0,'defaultFigureColor', [1 1 1]) %修改图形背景颜色的设置为白色 figure,
subplot(221),imshow(I);%窗口划分成两行、两列,此时显示第1个图 subplot(222),image(I);
subplot(223),image([50,200],[50,300],I);%显示调整坐标后的图像
subplot(224),imagesc(I,[60,150]); %窗口划分成两行、两列,此时显示第4个图
例子7:利用wrap()函数实现纹理映射 I=imread('12.bmp'); %读取图像信息
[x,y,z]=sphere; %创建三个(N+1)×(N+1)的矩阵,使得surf(X,Y,Z)建立一个球体,缺省时N取20 figure,
subplot(121),warp(I); %显示图像映射到矩形平面,wrap会自动根据图像的像素显示其坐标 subplot(122),warp(x,y,z,I); %将二维图像纹理映射三维球体表面 grid; %建立网格
K = imadjust(I,[0.3 0.7],[]);
RGB2 = imadjust(RGB1,[.2 .3 0; .6 .7 1],[]);
例子8:将图像的组成R、G、B单色图像单独显示
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc;
gamma=0.5; %设定调整线性度取值 I=imread('123.jpg'); %读入要处理的图像,并赋值给I,默认I为RGB图像数据 R=I; %将图像数据赋值给R
R (:,:,2)=0; %将原图像变成单色图像,保留红色 R(:,:,3)=0; G=I; %将图像数据赋值给G G(:,:,1)=0; %将原图像变成单色图像,保留绿色 G(:,:,3)=0; B=I; B(:,:,1)=0; B(:,:,2)=0;
%将图像数据赋值给B
%将原图像变成单色图像,保留蓝色
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置 set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置 figure(1),
subplot(221),imshow(R);%绘制图像 subplot(222),imshow(G); subplot(223),imshow(B); subplot(224),imshow(I);
例子9:图像的剪切
实战1:灰度化
I1=imread('左侧图.png'); %读取图像1
I2=imread('右侧图.png'); %读取图像2
X1=rgb2gray(I1); %将RGB图像I转换为灰度图像X1 X2=rgb2gray(I2); %将RGB图像I转换为灰度图像X2
imwrite(X1,'左侧灰度图.png'); imwrite(X2,'右侧灰度图.png');
figure;
subplot(221);imshow(I1); %显示原图像I1 subplot(222);imshow(I2); subplot(223);imshow(X1); subplot(224);imshow(X2);
%显示原图像I2 %显示灰度图像X1 %显示灰度图像X2