Matlab图像处理基础知识

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

1图像表达方式:

  1. 像素索引

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

  1. 空间位置:

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

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

2Malatb图像类型:

二进制图

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

索引图(伪彩色)

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

灰度图

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

RGB图(真彩色)

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

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

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();

%asahi_dither=dither(asahi,map);

%imshow(asahi_dither)

原图:

筛选转换

asahi=imread('asahi.jpg');

%imshow(asahi)

map=jet();

asahi_dither=dither(asahi,map);

imshow(asahi_dither)

灰度图转换为索引图:

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

索引图转换为灰度图:

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

RGB图转换成灰度图:

X=imread('asahi.jpg');

imshow(rgb2gray(X))

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'),);

figure

imagesc(Y)

colormap(map)

imshow(Y,map)

索引图转换成RGB图:

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

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

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

将矩阵转换成灰度图像:

mat2gray函数

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

Matlab图像处理基础知识的更多相关文章

  1. MATLAB图像处理基础

    MATLAB图像处理基础 2.2.1 图像文件格式及图像类型 1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像 ...

  2. matlab图像基础知识

    1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像专家组的图像压缩格式. ⑵BMP(Windows Bitmap ...

  3. matlab pca基础知识

    PCA的一些基本资料 最近因为最人脸表情识别,提取的gabor特征太多了,所以需要用PCA进行对提取的特征进行降维. 本来最早的时候我没有打算对提取的gabor特征进行降维,但是如果一个图像时64*6 ...

  4. 视频图像处理基础知识5(RGB与Ycbcr相互转换公式 )【转】

    转自:http://blog.csdn.net/Times_poem/article/details/51471438 版权声明:本文为博主原创文章,未经博主允许不得转载. 需求说明:视频处理算法基本 ...

  5. 图像处理基础知识:EMVA1288标准之“非均匀性”的理解

    EMVA1288标准之“非均匀性”的理解 目录 1. 什么是图像的非均匀性?有标准吗? 2. EMVA1288的非均匀性内容. 3. 总结与理解 正文 1. 什么是图像的非均匀性?有标准吗?简单来说, ...

  6. 使用matlab处理图像的基础知识

    MATLAB基本函数一 矩阵运算 1.基本算数运算(加减乘除) + -运算要求矩阵维数相同,例m*n * /运算,例A=B*C,B矩阵是m*n矩阵,B是n*p矩阵,则A是m*p矩阵 A/B相当于A*i ...

  7. Matlab高级教程_第一篇:Matlab基础知识提炼_01

    第一篇:Matlab基础知识提炼: 这一篇主要用系统和提炼性的语言对Matlab基础知识进行总结,主要适用于有语言基础的学习者.尽量不讲废话. 第一部分:Matlab是什么? 1 Matlab是Mat ...

  8. 打基础丨Python图像处理入门知识详解

    摘要:本文讲解图像处理基础知识和OpenCV入门函数. 本文分享自华为云社区<[Python图像处理] 一.图像处理基础知识及OpenCV入门函数>,作者: eastmount. 一.图像 ...

  9. Matlab - 基础知识

    Matlab R2016a完全自学一本通 记在前面: (1)函数中:dim=1 按列:dim=2 按行 (2)这本书很垃圾,不建议买. (3)在数据库连接中,用两个单引号表示字符串,千万不能用双引号 ...

随机推荐

  1. Codeforces Round #595 (Div. 3)

    A - Yet Another Dividing into Teams 题意:n个不同数,分尽可能少的组,要求组内没有两个人的差恰为1. 题解:奇偶分组. int a[200005]; void te ...

  2. P3396 哈希冲突(思维+方块)

    题目 P3396 哈希冲突 做法 预处理模数\([1,\sqrt{n}]\)的内存池,\(O(n\sqrt{n})\) 查询模数在范围里则直接输出,否则模拟\(O(m\sqrt{n})\) 修改则遍历 ...

  3. docker_基础用法

    1. docker architecture 2. 命令

  4. 网易云音乐MP3外链地址

      网易云音乐MP3外链地址下载方法很简单的方法: 下载公式:http://music.163.com/song/media/outer/url?id=ID数字.mp3 把上面红色部分(ID数字)换成 ...

  5. winrunner 测试工具

    WinRunner在项目中的作用     (winrunner测试设计:http://blog.chinaunix.net/uid/301743/year-2013-list-81.html?/178 ...

  6. SQLServer string_split函数,撕裂函数,撕开函数

    declare @name char(1000) --注意:char(10)为10位,要是位数小了会让数据出错 set @name='s{sss}fc{fggh}dghdf{cccs}x' selec ...

  7. 【linux】CentOS: Sudo: unable to initialize policy plugin

    背景: 在centos7 下 使用sudo 命令对www用户生成ssh秘钥 .报错 解决办法: yum remove sudo yum install sudo 在执行就ok了

  8. PAT 甲级 1076 Forwards on Weibo (30分)(bfs较简单)

    1076 Forwards on Weibo (30分)   Weibo is known as the Chinese version of Twitter. One user on Weibo m ...

  9. 制作Visual Studio 2017 (VS 2017) 离线安装包 (转)

    史上功能最强大的Visual Studio 2017版本发布,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下载的安装文件.如果用户处在一个与外网隔离的网络环境 ...

  10. 安装tensorflow2.0

    pip install tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple import tensorflow as tfpri ...