图像处理之灰度图转伪彩色图原理与代码分析
首先强调:在matlab中用[row,col]=size(x)获取的行和列是与图片编辑器显示的行列相反。
首先RGB图转为灰度图,通过rgb2gray()函数;灰度图中每个像素点的灰度值根据三个分段线性函数分别映射到R,G,B三个维度,再通过叠加生成伪彩色图。
三个分段线性函数图如下:
matlab程序如下:
%%
%题目:基于灰度变换的伪彩色方法
%意义:将亮度低的映射为蓝色(冷色),亮度高的映射为红色(暖色)。
%方法:分别用三个矩阵保存,三个通道的灰度值。每个通道的灰度值,有不同的映射函数。
% 输入灰度级 输出彩色
% 0~63 1/4 蓝色
% 64~127 2/4 紫色
% 128~191 3/4 黄色
% 192~255 4/4 红色
%%
clc;
clear;
grayImage=rgb2gray(imread('C:\Users\ch\Desktop\1_0°.bmp'));
figure,imshow(grayImage);
[row,col]=size(grayImage);
range=255;%每个通道的最大灰度值R = zeros(row,col);
G = zeros(row,col);
B = zeros(row,col);
%%
for i=1:rowfor j=1:colif grayImage(i,j)<=range/4 % [0,64]偏蓝R(i,j)=0;G(i,j)=4*grayImage(i,j);B(i,j)=range;elseif grayImage(i,j)<=range/2 % (64,128] 偏紫R(i,j)=0;G(i,j)=range;B(i,j)=-4*grayImage(i,j)+2*range;elseif grayImage(i,j)<=3*range/4% (128, 192]R(i,j)=4*grayImage(i,j)-2*range;G(i,j)=range;B(i,j)=0;elseR(i,j)=range;G(i,j)=4*(range-grayImage(i,j));B(i,j)=0;endend
end
%%
out = zeros(row,col);
for i=1:rowfor j=1:colout(i,j,1)=R(i,j);out(i,j,2)=G(i,j);out(i,j,3)=B(i,j);end
endout=out/256;
figure,imshow(out);
原图:
伪彩色图:
在此感谢:https://blog.csdn.net/jizhidexiaoming/article/details/80255383
图像处理之灰度图转伪彩色图原理与代码分析相关推荐
- opencv遍历实现灰度图转伪彩色图[C/C++][附applyColorMap方法]
灰度图转伪彩色图 数字图像处理的作业,利用opencv实现通过灰度隐射将灰度图转化为伪彩色图. 效果大概如下,在最后附带opencv自带函数处理的方法 原图 遍历图 opencv的 applyColo ...
- 数字图像处理--灰度图转伪彩色图
开篇废话 观察了一下冈萨雷斯的书,发现彩色图像处理仅仅用了一章进行介绍,原因分析了一下,后来发现,好像别的介绍的也不多,得出一个结论.冈萨雷斯这本书仅仅能作为一部纲领性的介绍.它基本涵盖了图像处理的基 ...
- python彩虹图_灰度图转伪彩色图和彩虹图,基于OpenCV 2.4.3
做东西需要用到灰度转伪彩显示,毕竟嘛,人眼对彩色的分辨远远高于对灰度的分辨. 本来想这么成熟的东西网上肯定有代码,我勒个擦,找了一圈都是不知所云的东西,还是自己写一个吧!!!! 废话不说了,代码是码农 ...
- matlab灰度图转伪彩色,[转载]灰度图转伪彩色图和彩虹图,基于OpenCV 2.4.3
做东西需要用到灰度转伪彩显示,毕竟嘛,人眼对彩色的分辨远远高于对灰度的分辨. 本来想这么成熟的东西网上肯定有代码,我勒个擦,找了一圈都是不知所云的东西,还是自己写一个吧!!!! 废话不说了,代码是码农 ...
- C#灰度图转伪彩色图
/// <summary>/// 伪彩色图像构造器/// </summary>public class PseudoColorImageBuilder{/// <summ ...
- Labview实现图片24bit转变为8bit及灰度图的伪彩显示
原图: 伪彩显示效果: 24bit转换为8bit程序框图: 伪彩显示程序框图: VI链接:Labview实现图片24bit转变为8bit及伪彩显示的源码-C文档类资源-CSDN下载 参考了这两位博主的 ...
- opencv将灰度图转为彩色图
使用opencv将一幅灰度图转为彩色图. 使用函数:cvtColor(); Mat imgGray= imread("gray.jpg",0); Mat imgRGB; ...
- c++ opencv 灰度图转彩色图
灰度图转彩色图______主要作用:在图上画彩色线条等等 //灰度图转彩色图 cv::Mat grayToRGB(const cv::Mat input_img) {//创建一个和灰度图一样大小的0值 ...
- 免费的Lucene 原理与代码分析完整版下载
Lucene是一个基于Java的高效的全文检索库. 那么什么是全文检索,为什么需要全文检索? 目前人们生活中出现的数据总的来说分为两类:结构化数据和非结构化数据.很容易理解,结构化数据是有固定格式和结 ...
最新文章
- linux shell脚本中调用另一个shell脚本
- 08.suggester02term_suggester
- 【NOI2016】循环之美【莫比乌斯反演】【整除分块】【杜教筛】【类杜教筛】
- 儿童学文字编程python_手把手教你python数字知识
- Jeecg-P3 1.0.1版本发布,轻量级微服务框架
- Matlab定义符号函数(ZZ)
- 参考文献的序号怎么对齐_学术论文发表写作格式、具体要求和参考文献的要求模板...
- mysql sql长度限制_SQL限制– MySQL限制
- ANT HelloWorld
- JQValidate使用说明
- Java springcloud B2B2C o2o多用户商城 springcloud架构- ribbon
- 【威联通Nas】安装docker版本的wiznote/wizserver
- 【高德地图】------- JavaScript实现高德地图经纬度获取地址位置
- npp++常用的匹配正则表达式
- 叉积求点到平面距离_平面方程怎么求
- eighth day for learning
- STM32F407ZGT6|实现中断操作
- 平移、旋转和缩放矩阵推导
- 着力抓好服务中心建设,实现网格综治一体化管理
- Metal 框架之使用 Metal Debugger 查看 GPU 工作负载
热门文章
- U大师一键备份还原系统操作步骤,教你电脑一键备份还原怎么用
- 视频mkv格式怎么转换成mp4,简单实用的步骤
- 鱼c工作室python-鱼C工作室Python作业
- Android弹力球小游戏案例
- 对世界保持一份好奇心,或将改变你平淡的一生
- NGB——下一代广播电视网 和统一通信
- 耐驰测试仪上的软件,其他仪器的数据如何导入到耐驰分析软件?_热分析仪仪器社区_仪器信息网论坛...
- 陶泓达:3.30晚间美盘最新走势分析及操作思路!
- multipartfile获取数据_multipartfile测试接口
- commons-lang 简介、中文文档、中英对照文档 下载