matlab灰度图像分类处理,Matlab图像处理基础知识

Matlab图像处理基础知识

Matlab的图片以矩阵的形式存储,矩阵的行列值为图片的行列的色彩值。

1图像表达方式:

像素索引

图像被视为离散单元。如使用I(2,2)可以获取第二行第二列的像素值

c4b435bebc2f613afb84a59a2ef2bf64.png

空间位置:

使用连续值,数据存储位置为坐标中点,存储位置可以非默认

cb336bf709feb1a428b67353881c8c43.png

A=magic(5);

x=[19.5,23.5];

y=[8.0,12.0];

image(A,‘XData‘,x,‘YData‘,y),axis image,colormap(jet(25))%image(‘XData‘,x,‘YData‘,y,‘CData‘,C) x,y指定横纵坐标,C为每个x,y坐标点的颜色值%axis 设置坐标轴%colormap 查看并设置当前颜色图%jet 25是条目数,将RGB颜色方案平分成25种颜色

aeb271f28f492d064bfd874eee69a2aa.png

2Malatb图像类型:

二进制图

像素的取值只有0和1,分别代表黑与白。

索引图(伪彩色)

索引图中某一像素的值代表调色板中能代表绝大多数的255中颜色之一,调色板大小为256×3。假如索引值为5,那么使用调色板第五行的三个数值代表颜色。

灰度图

灰度图中某一像素的值从0-255代表从黑到白的255种颜色层次。只能表现为灰色图像。

RGB图(真彩色)

在matlab中为n×m×3的多维数组,n,m,分别代表像素位置,第三维的三个数字代表RGB颜色的值。

RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]);

R=RGB(:,:,1);

G=RGB(:,:,2);

B=RGB(:,:,3);

figure

subplot(141);imshow(R)

subplot(142);imshow(G)

subplot(143);imshow(B)

subplot(144);imshow(RGB)%reshape:重构数组,将jet(64)中的RGB颜色分离,此时的RGB参数中存储着64中颜色的RGB值%此时的RGB中第三维的第1,2,3个数字代表R,G,B数值

1479ec20ff727f86405e6f00568226ab.png

3Matlab图像类型转换:

图像颜色筛选转换

X=dither(RGB,map):通过筛选算法将真彩色图像RGB按指定的颜色图map转换成索引色图像X

X = dither(RGB,map,Qm,Qe) 还指定要沿每个颜色轴为逆向颜色图使用的量化位数 Qm,以及用于颜色空间误差计算的量化位数 Qe。

BW = dither(I) 通过抖动将灰度图像 I 转换为二值(黑白)图像 BW。

asahi=imread(‘asahi.jpg‘);

imshow(asahi)%map=jet(255);%asahi_dither=dither(asahi,map);%imshow(asahi_dither)

原图:

a5aeabcd54bc016d668e9dbaa41c7dee.png

筛选转换

asahi=imread(‘asahi.jpg‘);%imshow(asahi)

map=jet(255);

asahi_dither=dither(asahi,map);

imshow(asahi_dither)

529068471b2e36dbc56daab691c488c9.png

灰度图转换为索引图:

[X,map]=gray2ind(I,n): 根据指定灰度级数n和颜色图map转换成灰度图X,n默认值为64

索引图转换为灰度图:

I=ind2gray(X,map):将索引图X转换成灰度图I,丢弃图像色度和饱和度,仅保留亮度信息。

RGB图转换成灰度图:

X=imread(‘asahi.jpg‘);

imshow(rgb2gray(X))

0c60e7d49a73f8cd8ea7714281add202.png

RGB图转换成索引图:

[X,cmap] = rgb2ind(RGB,Q) 使用具有 Q 种量化颜色的最小方差量化法并加入抖动,将 RGB 图像转换为索引图像 X,关联颜色图为 cmap。

[X,cmap] = rgb2ind(RGB,tol) 使用均匀量化法并加入抖动,将 RGB 图像转换为索引图像,容差为 tol。

X = rgb2ind(RGB,inmap) 使用逆颜色图算法并加入抖动,将 RGB 图像转换为索引图像,指定的颜色图为 inmap。

___ = rgb2ind(___,dithering) 启用或禁用抖动。

[Y,map]=rgb2ind(imread(‘asahi.jpg‘),12);

figure

imagesc(Y)

colormap(map)

imshow(Y,map)

ca0fa862b055586dd6b57c3140618e88.png

索引图转换成RGB图:

RGB=ind2rgb(X,map):将矩阵X及相应的调色板map转换成真彩色图像RGB

阈值法从灰度图产生索引图:

X=grayslice(I,n):将灰度图均匀量化为n个等级,转换成伪彩色图像X

将矩阵转换成灰度图像:

mat2gray函数

I=mat2gray(X,[Xmin,Xmax]):指定区间Xmin-Xmax代表灰度0-1

原文:https://www.cnblogs.com/asahiLikka/p/11587500.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值