matlab的guicmap,matlab中的colormap说明

本文探讨了如何使用Matlab中的colormap功能将二维矩阵转换为带有颜色的图片,通过定义自定义颜色映射矩阵cmap,解释了如何通过imshow函数并指定cmap参数实现彩色显示。通过实例展示了如何将灰度图像转为带有特定颜色定义的图像。
摘要由CSDN通过智能技术生成

问题引出:

之前我们提出过,用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值