MATLAB 图像处理实例详解(三)

1. 图像类型的转换

1.1 RGB 图像转为灰度图像

I = imread('wechat.jpg'); %读取图像
X = rgb2gray(I); %转为灰色
figure; %画布
subplot(121),imshow(I); %小图显示,一行两列第一个
subplot(122),imshow(X); %小图显示,一行两列第二个

1.2 RGB 图像转索引图像

rgb = imread('wechat.jpg');
[x1, map1] = rgb2ind(rgb, 64); %将rgb图像转为索引图像,颜色种类至少64中,最小方差量化
[x2, map2] = rgb2ind(rgb, 0.2); %将rgb图像转为索引图像,颜色至少216中,均匀量化。
map3 = colorcube(128); %创建一个颜色映射表
x3 = rgb2ind(rgb, map3); %颜色128种,颜色表近似法
% set(0, 'defaultFigurePosition',[100, 100, 1000, 500]);
% set(0, 'defaultFigureColor', [1 1 1]);
figure;
subplot(131),imshow(x1, map1);
subplot(132),imshow(x2, map2);
subplot(133),imshow(x3, map3);

 1.3 灰度图像转索引图像

clear all;
clc;
gray = imread('gray.jpg'); %读取灰度图像
[x, map] = gray2ind(gray, 8); %灰度图像转索引图像,灰度级为 8
% figure,imshow(gray);
% figure,imshow(x, map);
figure;
subplot(121),imshow(gray);
subplot(122),imshow(x, map);

 1.4 利用阈值法将灰度图转为索引图

gray = imread('gray.jpg'); %读取灰度图
ind = grayslice(gray, 32); %用阈值法将灰度图转为32级的索引图
figure;
imshow(gray);
figure, imshow(ind, jet(32)); %jet函数生成一个颜色映射表

 

2.二值图像的转换

2.1. 将灰度图转为二值图像

gray = imread('gray.jpg');
bw1 = im2bw(gray, 0.4); %将二值图像转为灰度图像,阈值为0.4.
bw2 = im2bw(gray, 0.6); %将二值图像转为灰度图像,阈值为0.6,小于阈值的取零
figure;
subplot(131), imshow(gray);
subplot(132), imshow(bw1);
subplot(133), imshow(bw2);

2.2. 索引图转为二值 

clear;
clc;
load trees; %加载内置trees.mat,将数据载入到workspace
bw = im2bw(X, map, 0.4); %将索引图转换为二值图像,阈值为0.4
figure,imshow(X, map);
figure,imshow(bw);

2.3. 数值矩阵转为灰度图像

X = magic(256); %利用函数magic()产生一个256*256的方阵
%魔术矩阵,每一行元素之和,每一列元素之和,与对角线元素之和三者相等。
% X = imread('gray.jpg');
bw = mat2gray(X); %将数值矩阵转为一个灰度图像
figure,imshow(bw);

 

 

  • 6
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值