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

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

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

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

则其对应的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: rowfor j = 1: colif X(i,j) < 128R(i,j) = 30;elseif X(i,j) < 192R(i,j) = 2*X(i,j)-150;elseR(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)

运行结果

代码获取

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

Matlab实现伪彩色处理:灰度图像转换为彩色图像相关推荐

  1. matlab中将灰度图像转换为彩色图像

    函数实现 function color_map = gray2color(heat_map) %将灰度图像转换为彩色图像 cmap = jet; sz = size(heat_map); color_ ...

  2. 【图像转换】基于matlab灰度图像转换彩色图像【含Matlab 1233期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像转换]基于matlab灰度图像转换彩色图像[含Matlab 1233期] (https://download.csdn.net/dow ...

  3. matlab 识别灰度图像与彩色图像

    灰度图片与彩色图像在处理上面存在一些差别,编程实现图像处理时往往需要将两者分开处理,那么如何将灰度图像和彩色图像分开呢? 这个问题我们在做logo识别过程中出现过,我将我的解决方法分享供大家参考. 分 ...

  4. 【数字图像处理与python】自定义三维数组转换为彩色图像、自定义二维数组转为灰度图像

    自定义三维数组转换为彩色图像 """自定义三维数组转换为彩色图像""" import skimage import numpy as np# ...

  5. OpenCV学习笔记02--图像像素处理--二值图像、灰度图像、彩色图像像素的处理、numpy.array中的对应的函数

    目录 (一)灰度图像像素处理 (二)彩色图像像素处理 (三)numpy.array库在图像处理中的应用 (四)查看图像的属性信息 接着笔记01继续总结,当我们读取一幅图像的时候,一般为二值图像.灰度图 ...

  6. Python灰度图像和彩色图像的读取、显示。图像求反。

    方法一 #灰度图像和彩色图像的读取.显示.图像求反. #图像库导入 from PIL import Image # numpy约定是别名np import numpy as np#彩色图片位置 D:/ ...

  7. ITK:将ITK灰度图像转换为CV :: Mat

    ITK:将ITK灰度图像转换为CV :: Mat 内容提要 输出结果 C++实现代码 内容提要 将itk :: Image(灰度)转换为OpenCV cv :: Mat. 输出结果 C++实现代码 # ...

  8. Matlab:将日期时间转换为儒略日期或 POSIX 时间

    Matlab:将日期时间转换为儒略日期或 POSIX 时间 在转换之前指定时区 将已设置时区和未设置时区的日期时间值转换为儒略日期 将已设置时区和未设置时区的日期时间值转换为 POSIX 时间 您可以 ...

  9. MATLAB读取nc文件并转换为.tif格式

    MATLAB读取nc文件并转换为.tif格式 1. 博文目的 (1)利用matlab读取nc文件,并将nc文件转换为.tif文件 2.时间 (1)开始时间:2017年04月08日 (2)结束时间:20 ...

最新文章

  1. MindSpore基本原理
  2. python自学网站 知乎-知乎千赞回答 | 为什么自学python看不进去?
  3. 开放源代码GIS资源集锦
  4. VS2013中修改.dll工程项目的.lib和.dll的输出路径
  5. 文件操作,列表实例NiceHexSpiral
  6. ElasticSearch三master节点集群状态查看方法
  7. 抖音后台开发社招面试
  8. 一个很不错的开发管理中文个人网站
  9. Visual Studio Community 2017安装步骤(只装C++)
  10. Lowe‘s EDI 855 采购订单确认报文详解
  11. 《kafka面试100例 -6》如果在/admin/delete_topics/中手动写入一个节点会不会正常删除Topic
  12. HPD2368计算机上没有打印机,HPD2368打印机显示堵纸了,打印不了, – 手机爱问
  13. python不同时间周期k线_python均线周期转换(日线-周线)
  14. 硬盘突然变raw格式_磁盘分区变成RAW格式怎么办?手把手教你解决方法
  15. redis脑裂是什么意思?如何预防?如何处理?
  16. denoiser插件_红巨人降噪磨皮调色插件套装 Red Giant Magic Bullet Suite v13.0.4 Win/Mac
  17. Redis学习之基础知识
  18. Linux下用ls命令查看文件以及文件夹个数
  19. 【Linux】sudo分权管理实战
  20. POJ 2983-Is the Information Reliable?(差分约束系统)

热门文章

  1. android 拨号上网流程
  2. Navicat Premium 12.1.17简体中文64位 安装与激活
  3. vscode 添加用户代码片段(快速生成 vue 模板)
  4. java区块链开发教程,原来SqlSession只是个甩手掌柜
  5. 【石子游戏——思维,数学】
  6. 用python简单输出年份的天干地支
  7. Export/Import 使用技巧与常见错误
  8. 【可视化分析】界面/系统
  9. VS2010系统找不到指定的文件
  10. 微波射频学习笔记13-------π型衰减和T型衰减