精华内容
下载资源
问答
  • 彩色映射matlab
    2021-04-21 06:40:59

    To MATLAB, any 2D array can be represented as an image, with each element of the array representing a single pixel(picture element) in that image.

    This is most commonly done with the imagesc function.

    To understand this function, we must first review the concept of colormaps.

    A colormap is a table establishing the relationship between a matrix element's value and the color of the pixel representing it.

    MATLAB provides a series of predefined colormaps, but it is also easy to define a new one.

    Each MATLAB colormap is a 64 x 3 matrix, in which each row contains the red, green, and blue (RGB) components of a single color.

    Thus MATLAB colormaps can represent up to 64 different colors in all.

    A simple MATLAB colormap is 'gray'. This table maps numeric values between 0 and 1 to 64 shades of gray between black and white.

    The current colormap for a figure is set using the colormap function, and the list of MATLAB colormaps is provided by the 'help colormap' command.

    The imagesc function (short for "image scale") accepts the data to be displayed as an argument, determines its span from minimum and to maximum values, and maps this range of values onto the 0-1 input range of the color map.

    Thus imagesc will display the matrix you pass it using the entire colormap range.

    Since white, black, and shades of gray all have R, G, and B values in equal proportion, the 'gray' colormap can be defined so:

    >> values = [0:1/63:1].';>> gray = [values values values];

    MATLAB includes some images for demonstrations that can also be used for exercises. (Image ©2002 Mathworks, Inc.) Here we examine one of these images with two different colormaps, and add a colorbar to show the relationship of color to the underlying data:

    load spine % Load a medical image included with MATLAB

    imagesc(X) % Display a scaled image of the data, held in matrix X

    colormap(gray) % Select the gray scale colormap

    0818b9ca8b590ca3270a3433284dd417.png

    colormap(bone) % Select the color map for X-ray images

    colorbar % Display the color bar

    0818b9ca8b590ca3270a3433284dd417.png

    更多相关内容
  • 文章目录彩色图像映射表颜色...matlab里边有一个colormap函数,能够将当前颜色映射表设置为某些预定义了的颜色映射表,包括 原始 parula jet hsv hot cool spring summer autumn winter gray

    彩色图像映射表

    matlab里边有一个colormap函数,能够将当前颜色映射表设置为某些预定义了的颜色映射表,包括

    原始parulajethsvhotcool
    defaultparulajethsvhotcool
    springsummerautumnwintergraybone
    springsummerautumnwintergraybone
    copperpinklinescolorcubeprismflag
    copperpinklinescolorcube在prismflag

    这些颜色映射表只包含了81种颜色,但是却绘出了各种风格的彩色图像。真彩色图像究竟应该如何定义?具有 2 8 ∗ 8 ∗ 8 2^{8*8*8} 2888种颜色的就是彩色图像?这 2 8 ∗ 8 ∗ 8 2^{8*8*8} 2888种颜色之间的欧式距离怎么确定?在讨论这些问题之前,我们必须确定一下颜色模型,在这个统一的基础之上,我们才能看出各个颜色模型的侧重点和构建原理,才能推出各个颜色模型之间的转换公式。


    颜色模型

    国际照明组织-CIE色度空间(Commission Internationale de L’Eclairage,色度图)

    许许多多的颜色模型源于各式各样的相关设备(彩色电视机、彩色显示屏、彩色打印机)的出现。
    物体的颜色既取决于外界的物理刺激,又取决于人眼的视觉特性,颜色的测量和标定应该符合人眼的视觉特性。
    标准化的目的主要有:

    • 方便查找补色、颜色生成
    • 促进相关设备的兼容以及彩色图片格式的统一化

    CIE色度图是现代色度学的基石,里边存在诸多技术细节,理解起来比较困难,此前一直觉得是自己想复杂了,可是现在发现是很多资料讲不清楚,浅尝辄止。
    17~18世纪,一系列实验证实了古希腊人“万物由原子构成”的猜想。受此启发,科学家们开始思考一个问题:能不能找到颜色的“原子”呢?

    1. [1704-Newton] 颜色的本质是光
    2. [1854-格拉斯曼颜色替代律] 同色异谱现象(如果A=B,C=D,那么AC=BD。其中,“=”代表颜色外观一致,即所谓的“颜色匹配”)
    3. [1855-Maxwell]红绿蓝三种色光混合,可以生成各种色调的颜色
    4. [1860-Helmholtz]人眼的红绿蓝三种视觉细胞的颜色响应假象曲线(现代修正图上的三个峰值对应的坐标分别为:420nm,534nm,564nm;三者的工作频段是相互交叠的,不是单独的窄带。也即,对红(绿,蓝)光敏感的视觉细胞不只响应红(绿,蓝)色光,而是对整个波段的光都有响应的响应。进一步的说:所有的颜色响应都是纠缠在一起的,没有办法择干净)

    这说明颜色叠加规律是线性的,想要复现某个颜色的时候,不需要复制一个一模一样的光谱。只需要掌握某种混合规律,就可以用另一种光谱得到一个相同的颜色。
    关于红绿蓝是不是颜色的“原子”这个问题(也即,”是不是所有的颜色都可以拆分成红黄蓝的组合“或“红黄蓝三色光相加,能不能生成所有人类能够感知到的颜色?”),科学家的答案是:能,然而也不能[1931-J.Guild:The Colorimetric Properties of the Spectrum-光谱色的色度特性]。实验结果是

    1. 任意一种光谱都可以拆解成(380nm~680nm)单色光的组合
    2. 任意一个单色光都可以拆解成三原色光的组合(虽然可能有负数值)
    3. 任意一种组合都只能形成一种颜色,一旦三原色光的配比值确定了,颜色外观也就确定了

    到现在为止,我们可以采用实验中所使用的RGB给颜色编号(用配比系数向量作为编号向量),这是科学家花费300年得出的结论:380nm~780nm之间的光谱曲线用3个数据就能唯一标识(归一化之后只需要两个)。那么原色光又是什么东西?该怎么确定呢?在“原子结构内蕴含的哲学思考”一文中再细细思考这个问题吧!


    过去以Munsell color system为代表的表色法,是根据物体最后呈现出来的颜色外观来编号的,也就是所谓的“显色系统表色法”,他会根据人对颜色的心理感受(色调/色相Hue、明度Value、饱和度/纯度Chroma)来对颜色进行编号和排序,因此我猜想文章开头给出的那18个Matlab预定义的Colormap也是其中的一种。
    而以CIE 1931系统为代表的的表色法,是根据三原色的混合规律来编码各个颜色的,叫做“混色系统表色法”。颜色的色调、明度、饱和度等特性在这个表色法里边表现不明显。
    虽然CIE 1931系统一眼看去,既不直观又不顺眼,但是他有一个堪称“必杀技”的优点:可以精确地预测混色结果。也就是说:如果已知两个颜色的光谱数据,就可以用简单的计算方法,准确地知道他们混合之后的新颜色长什么样(前提是实验测出了精确的可供你查询的色度表,比如公认的CIE色度图),色度图的主要规律如下:

    1. [颜色混合线性规律]两个颜色混合后的新颜色,一定位于两者连线之上
    2. [所有人眼能识别出来的颜色,都有单色光相加而成,色度图中任意两点画出来的线段,就是“人眼能看见的所有颜色”]
    3. [经过CIE的刻意设计] 确定了一个等能白光E点和一个标准白光C点(C相当于中午阳光的颜色,比E的色温高一点),两者附近有一大片,都是各种不同的白色,他们的饱和度都为0(因此又称为消色),位于边界处的颜色都是饱和度最高的颜色(边界由左上角曲线和右下角斜线构成,曲线表示所有单色光,斜线表示谱外光的轨迹)

    CIE模型只是一个标准,可是实际的灯光设备、显示器未必会遵循上述标准进行制作,或者可能由于发光器件的特性没有办法完全实现上述标准(存在不同程度的误差),具体情况还得具体分析,而且实际应用不会对精确度有很高的要求。主要涉及如下几个方面:

    1. 彩色显示器设计
    2. 彩色打印机设计

    RGB颜色模型

    HSV颜色模型

    CMKY颜色模型

    YUV颜色模型

    YUV,是一种颜色编码方法,常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma)。
    Y’UV、YUV、YCbCr、YPbPr 几个概念其实是一回事儿。由于历史关系,Y’UV、YUV 主要是用在彩色电视中,用于模拟信号表示。YCbCr 是用在数字视频、图像的压缩和传输,如 MPEG、JPEG。今天大家所讲的 YUV 其实就是指 YCbCr。
    Y’UV 设计的初衷是为了使彩色电视能够兼容黑白电视。对于黑白电视信号,没有色度信息也就是(UV),那么在彩色电视显示的时候指显示亮度信息。
    Y’UV 不是 Absolute Color Space,只是一种 RGB 的信息编码,实际的显示还是通过 RGB 来显示。Y’,U,V 叫做不同的 component 。


    颜色编码

    参考文献

    [1] CMF色彩学大杀器·CIE色度图:http://www.360doc.com/content/17/0226/12/31887026_632123788.shtml
    [2] 色彩学大杀器·CIE色度图(中):http://www.360doc.com/content/17/0305/12/31887026_634131798.shtml

    展开全文
  • 彩色图像(或颜色映射图像)叠加到灰度图像上,以使用灰度图像作为透明度索引来可视化颜色图(密度、流量或您正在处理的任何内容),以获得更好的可视化效果。 它适用于 RGB 图像(MxNx3 矩阵)或使用 colromap 的...
  • 绘制彩色映射线并将值映射到线上 绘制色彩映射二维或三维线,将另一个变量的值映射到该线上的色彩映射图上 Plots a colormapped 2-D or 3-D line that maps the values of another variable onto the colormap on...
  • 该程序用于伪彩色图像处理,它可以将灰度图像转换为彩色。 颜色可能不准确,但对某些应用非常有用。
  • 只需在 Matlab 中输入 open the file 并输入图像的文件路径。
  • 输出可以使用 IMAGE 或 IMSHOW 显示,使用 IMWRITE 导出,用于纹理映射等。 颜色图通过名称或 JxK 颜色图表(K = 3 或 4)指定。 命名的颜色图可以以“-”为前缀来反转颜色图,并以“*”为后缀使每个颜色转换在转换...
  • 转自:... 作者:qlj061001来源:CSDN ...Colormap 颜色映射 ...在matlab中用我们描述一种颜色通常用RGB(红绿蓝)的形式,当然在计算机中RGB取值都在0到1的实数,强度必须在...

    转自:https://blog.csdn.net/qlj061001/article/details/78968273

    作者:qlj061001
    来源:CSDN 

     

    Colormap 颜色映射

    1、首先说明 颜色图 这个概念:

    在matlab中用我们描述一种颜色通常用RGB(红绿蓝)的形式,当然在计算机中RGB取值都在0到1的实数,强度必须在 [0, 1] 范围内,值 0 表示无颜色,值 1 表示全强度。那么红色用[1 0 0]表示,蓝色用[0 0 1]表示,等等,那么这样的宽度是3的,包含元素为0与1之间的矩阵被称作 颜色图, 简单说颜色图就是可以为任意长度,但是宽度必须为3的矩阵,而且矩阵每个元素都是在0到1的实数,因此可以用它来表示一组颜色,通常用这一组颜色作为修饰当前的图形颜色。

    在以前的matlab版本中,matlab默认的颜色图是 jet,jet 是 64*3的矩阵,在命令窗口中 打入 jet 即可查看这些矩阵元素;在2014版本以后 默认颜色图是  parula 颜色如下面:

     

    从 R2018a 开始用户要考虑图窗和坐标区的颜色设置,因为从 R2018a 开始,如果为图窗设置颜色图,则图窗中的坐标区和图将使用相同的颜色图。

    2、matlab内置的颜色图:

    在matlab中已经为我们内置了几组图,如下

     

    以上的每一组颜色都是64*3的矩阵形式存储在matlab中,这样在我们为当前的窗口设定颜色的时候就可以调用这些颜色,

    通常用Colormap,例如colormap default 装入默认的颜色映射,colormap(cool)装入青兰到洋红色的颜色图。

    当然我们想查看matlab某种内置的颜色映射的对应的矩阵时,可以使用函数 pcolor 、来显示一个颜色图。

    n=10
    colormap(jet)
    pcolor([1:n+1;1:n+1])

     

    3、colormap的一般应用

    大多数绘图函数 meshsurffillpcolor 和它们的各种变形函数可以用颜色映象colormap函数来调整当前图窗的颜色。

    例如下面例子:

    [x,y,z]=peaks;
    surfl(x,y,z);
    colormap(jet) % 应用 jet颜色图
    
    colormap(winter) %应用winter颜色图

     

          

     

    转载于:https://www.cnblogs.com/Blaky/p/10564269.html

    展开全文
  • 灰度图像可以简单理解为一个灰度值矩阵,其中灰度值的取值范围是[0, 255],且灰度值为整数。 现在需要将这个灰度值矩阵中的每一个值拆分成3个通道(RGB),分别是...则其对应的matlab的转换函数如下。 %% 红色通道映

    灰度图像可以简单理解为一个灰度值矩阵,其中灰度值的取值范围是[0, 255],且灰度值为整数。

    现在需要将这个灰度值矩阵中的每一个值拆分成3个通道(RGB),分别是红色通道(red, R)、绿色通道(green, G)和蓝色通道(blue, B)。这里就需要自己定义一个映射函数,比如我规定灰度值小于128的点,它们对应的红色通道的值为30,就可以写作

    R(x,y)=30,\quad\quad X(x,y)<128

    这里的R是红色通道矩阵,X是灰度值矩阵。

    一般地,给出一个任意的映射函数如下

    R(x,y)= \left\{\begin{matrix} 30 & X(x,y)<128\\ 2*X(x,y)-150& 128\leq X(x,y)< 192\\ 234& X(x,y)\geq 192 \end{matrix}\right.

    则其对应的matlab的转换函数如下

    %% 红色通道映射函数
    function R = redTransformer(X)
    R = zeros(size(X));
    R(X < 128) = 30;
    R(128 <= X & X < 192) = 2*X(128 <= X & X < 192)-150;
    R(192 <= X) = 234;
    end

    这里的转换函数使用了索引矩阵来简化代码,提高效率,对matlab索引不熟悉的小伙伴可以参考我的这篇博客

    matlab核心知识点-索引index运用_ 一只博客-CSDN博客https://blog.csdn.net/qq_42276781/article/details/121715378为了方便理解,这里给出一个一般写法的转换函数

    %% 红色通道映射函数,一般写法,不推荐
    function R = redTransformer(X)
    [row, col] = size(X);
    R = zeros(row, col);
    for i = 1: row
        for j = 1: col
            if X(i,j) < 128
                R(i,j) = 30;
            elseif X(i,j) < 192
                R(i,j) = 2*X(i,j)-150;
            else
                R(i,j) = 234;
            end    
        end
    end
    end

    类似地,给出三个通道的函数表达式和matlab代码

    matlab中的函数可以嵌套,于是我将RGB三色的映射函数均放置在gray2rgb.m文件中。

    gray2rgb.m

    %% 灰度图转换为彩色图
    function I = gray2rgb(X)
    R = redTransformer(X);
    G = greenTransformer(X);
    B = blueTransformer(X);
    I(:,:,1) = R;
    I(:,:,2) = G;
    I(:,:,3) = B;
    I = uint8(I);
    end
    
    %% 红色通道映射函数
    function R = redTransformer(X)
    R = zeros(size(X));
    R(X < 128) = 30;
    R(128 <= X & X < 192) = 2*X(128 <= X & X < 192)-150;
    R(192 <= X) = 234;
    end
    %% 绿色通道映射函数
    function G = greenTransformer(X)
    G = zeros(size(X));
    G(X < 90) = 2*X(X < 90)+40;
    G(90 <= X & X < 160) = 180;
    G(160 <= X) = 0;
    end
    %% 蓝色通道映射函数
    function B = blueTransformer(X)
    B = zeros(size(X));
    B(X < 64) = 115;
    B(64 <= X & X < 128) = 510-4*X(64 <= X & X < 128);
    B(128 <= X) = 36;
    end

    主函数

    clear, close all
    % 辣椒彩色图
    im_rgb = imread('peppers.png');
    subplot(1,3,1), imshow(im_rgb)
    % 彩色图转灰度图
    im_gray = rgb2gray(im_rgb);
    subplot(1,3,2), imshow(im_gray)
    % 灰度图转彩色图
    im_gray2rgb = gray2rgb(im_gray);
    subplot(1,3,3), imshow(im_gray2rgb)

    运行结果 

    代码获取

     关注公众号,回复“数字图像处理”即可获得代码

    展开全文
  • 利rgb和灰度图的映射关系对lena原图进行彩色增强,改变映射关系可以变换
  • Arnold映射(猫映射)原理及 matlab源码

    千次阅读 多人点赞 2020-02-19 12:45:37
    映射(Cat映射),也称为Arnold映射,由俄国数学家弗拉基米尔·阿诺德(Vladimir Igorevich Arnold)提出,在Arnold授课的时候经常使用猫的图像作为例子,故称为“猫映射”。这是一种在有限区域内进行反复折叠、...
  • 采用彩虹编码的伪彩色增强matlab代码,基于灰度映射方案,运行过没有问题。因为新学图像处理没有多久,入门作品。
  • MATLAB学习笔记 彩色变换MATLAB学习笔记 彩色变换MATLAB学习笔记 彩色变换interp1q(x, y, xi) 线性内插,获得xi点的yi值(直线)x 为列向量 设置x轴各个点y 为列向量 设置y轴的各个点xi 为列向量,代表取xi的位置的值z...
  • MATLAB彩色图像处理

    千次阅读 2020-12-16 19:11:52
    MATLAB函数rgb2ind可用于将RGB图像转换为索引图像。此函数支持三种转换方法 :i)均匀量化、ii)最小方差量化和iii)颜色映射近似。 均匀量化:[X,map]=rgb2ind(RGB,tol)使用统一量化将RGB图像转换为索引图像X...
  • matlab中将灰度图像转换为彩色图像

    千次阅读 2021-09-16 11:19:51
    %将灰度图像转换为彩色图像 cmap = jet; sz = size(heat_map); color_map = zeros(sz(1), sz(2), 3); for i = 1:256 ind = find(heat_map == i-1); [r,c] = ind2sub(sz, ind); for j = 1:3 color_map(sub2ind(...
  • HDR 色调映射线性压缩(matlab

    千次阅读 2020-05-20 15:11:04
    HDR 色调映射线性压缩(matlab) 目录 HDR 色调映射学习(matlab) 1、介绍 2、matlab在HDR上的应用 参考文章: 1、介绍 即使在引入数码相机之后,多年来,专业摄影师还是更喜欢使用基于胶片的SLR相机进行...
  • 彩色增强(基于MATLAB

    千次阅读 2021-09-05 21:48:09
    彩色增强(基于MATLAB) 基于人眼生理视觉系统,对彩色微小差别的敏感程度远大于对灰度差别的敏感程度,彩色增强已经成为一门应用广泛的图像处理技术,其中伪彩色增强技术显得尤为突出。 首先得明确真彩色与伪彩色...
  • 这是灰度图像的伪彩色处理matlab源程序
  • 我不知道你的作业是关于什么的,但是你可以把彩色地图和加密图像一起发送,或者给他们另一张颜色相似的图片。在 我希望这对你有帮助,但是你需要了解它是如何工作的,并在必要的地方发表评论来解释到底发生了什么。...
  • (1)默认的一些颜色映射 matlab colormap https://blog.csdn.net/qq_20823641/article/details/51711618 (2)使用colormapeditor工具进行修改 (1) clear all; clc; % 读取影像 filename1 = 'a.tif'; filename2 ...
  • matplotlib:彩色映射

    2020-08-20 22:06:59
    这个过程我们通常将之称为伪彩映射,伪彩映射的关键在于找到合适的彩色映射表,即colormap,也称color bar。 前段时间做了一个涉及到伪彩映射的项目,在找colormap的过程中,我发现Python的matplotlib模块中内嵌了一...
  • 基于改进的Chirikov映射来实现一种彩色图像加密的算法。 该方法通过在Chirikov映射中增加一个参数来增加算法的随机性。 采用像素数据置乱的方法实现图像加密。
  • 使用内置的 Scatter 命令... 这个简单的例程通过对用于定义相关颜色的值范围进行分箱并将其映射到用户定义的颜色图来生成散点图。 该文件故意保持简单,没有进行大量错误检查,以便于在更大的项目中轻松扩展或包含。
  • MATLAB实现的很方便的将灰度图转化为彩色图像的源代码
  • 输入是来自热相机(如FLIR One相机)的热RGB图像,该相机在同一图像中具有伪彩色图像和色条。要求用户在图像的热像部分和色条部分周围绘制一个矩形。要求用户在色条末端提供最低和最高温度。然后,它通过嵌入的颜色...
  • matlab开发-使用在线彩色地图的地形图。使用.xyz数据为立面图创建非线性颜色映射
  • MATLAB数字图像处理】将灰度图生成伪彩色图像

    万次阅读 多人点赞 2019-06-29 16:57:19
    有时在Matlab中我们需要将灰度图像添加彩色变成伪彩色图像。 通常做法为: I=imread('lenna.jpg'); I=rgb2gray(I); figure imshow(I); rgb = ind2rgb(gray2ind(I,255),jet(255)); figure imshow(rgb) 灰度图像:...
  • Matlab:如何将暗光环境下的成像可视化以及灰度图映射彩色图像? 主题内容:将小鼠体内的放射性元素成像与小鼠图像进行融合。(原图的格式采用tiff格式,本文涉及的素材均已上传(提取码: sxf4)) 一:将暗光...
  • MATLAB 图像伪彩色处理

    万次阅读 多人点赞 2017-06-02 16:18:59
    以下是使用MATLAB来实现。 我使用的是灰度级变换方法:先将灰度图像经不同变换特性的红、绿、蓝三个通道,不同的灰度级三种颜色实施的变换不同,再讲三个不同的输出合成某种颜色,这样不同大小的灰度级就

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,647
精华内容 1,058
关键字:

彩色映射matlab