热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

matlab的guicmap,matlab中的colormap说明

问题引出:之前我们提出过,用imread命令可以读取图片转换为matlab矩阵,这是一个3维矩阵,存储了颜色信息࿰

问题引出:

之前我们提出过,用imread命令可以读取图片转换为matlab矩阵,这是一个3维矩阵,存储了颜色信息,我们可以用imshow函数读取这个三维矩阵来还原图片。

那么我们是否可以用一个二维矩阵来存储有颜色的图片呢?可以,这时就会用到colarmap。我们知道,当map矩阵为2维矩阵时,用imshow函数读取这个二维矩阵只能识别里面的0和1,即只能显示出黑和白两种颜色,如果想要显示更多颜色,则矩阵里面必须有大于2个的多个数,每个数代表一种颜色,至于每个数代表什么颜色,则我们自己去定义,定义的方法就是写一个矩阵,如下:

cmap=[0 1 1; %bai

0 0 0; %hei

1 0 0; %hong

0 0 1; %lan

0 1 0; %lv

1 1 0;

1 1 1];

说明:这个矩阵每一列代表红绿蓝这三个三原色,每一行代表一种颜色,而每一行的三个数代表三种三原色的混合比例,而混合行程的颜色就是这一行的颜色。

这样的话,我们最开始定义的二维矩阵map中的数字代表的是cmap矩阵中的第几排颜色,比如map中的数字为3,则显示出来为红色。

但要注意:此时显示的函数为:imshow(map,cmap);即加上cmap作为参数。

举例:

clc;

close all;

clear all;

cmap=[0 0.4 1; %bai

0 0 0; %hei

1 0 0; %hong

0 0 1; %lan

0 1 0; %lv

1 1 0;

1 1 1];

x=imread('zhousan.png');

map=im2bw(x,0.9);

imshow(map,cmap);

原本map中的数据为0和1,如果只用imshow(map);只会显示黑白,而用imshow(map,cmap);后就会显示我们自己定义的颜色。

08ddfd8de8b943564b944d04726533ca.png

标签:map,代表,颜色,colormap,imshow,矩阵,说明,cmap,matlab

来源: https://blog.csdn.net/zouxu634866/article/details/104780719



推荐阅读
author-avatar
LBM-痕迹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有