python灰度图像为什么显示成彩色的_python opencv image 怎么变成伪彩色
匿名用户
1级
2017-05-16 回答
OpenCV 生成 伪彩色图像
opencv中没有易用的伪彩色图像生成函数,这里提供一个改造过的函数,利用自定义colorbar 将灰度图像转换成为伪彩色图像,优点在于提供了对于颜色的直观可操控性,转换方便。
函数代码如下:
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
//function : Pseudo color - enhanced
//author : Xin Yang, Shenzhen Univ., School of medicine
//email : xinyang@szu.edu.cn
//date : 2015.01.23
void C_Assistant::Gray2PseudoColor(IplImage* src ,IplImage *&dst)
{
if(dst != NULL)
{
cvReleaseImage(&dst);
dst = NULL;
}
dst = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 3);
IplImage *R, *G,*B;
//Load referred color bar
std::string HeatMapPath = "..\\ColorBar.png";
IplImage* heatmap = cvLoadImage(HeatMapPath.c_str());
//we split the heatmap along the 3 channels
R = cvCreateImage(cvGetSize(heatmap), heatmap->depth,1);
G = cvCloneImage(R);
B = cvCloneImage(R);
cvSplit(heatmap,B,G,R,NULL);
for(int x=0; xwidth; x++)
{
for(int y=0;yheight; y++)
{
//memory access to the destination color image (faster than splitting the 3 channels...)
unsigned char *data = &((unsigned char*)(dst->imageData + dst->widthStep*y ))[x*3];
//read the intensity value in the grayscale image
unsigned char gray = src->imageData[src->widthStep*y + x*src->nChannels];
//remember, OpenCV store images as BGR internally !
//So access [2] for Red, [1] for Green et [3] for Blue
float ColorIndex = gray/255.0*heatmap->height;
if(ColorIndex >= heatmap->height) ColorIndex = heatmap->height - 1;
data[2] = cvGet2D(R, ColorIndex, 1).val[0]; //Red channel
data[1] = cvGet2D(G, ColorIndex, 1).val[0]; //Green channel
data[0] = cvGet2D(B, ColorIndex, 1).val[0]; //Blue channel
}
}
//Clear
if(heatmap != NULL)
{
cvReleaseImage(&heatmap);
heatmap = NULL;
}
}
参考可用的colorbar如下,也可以自己生成来替换。
python灰度图像为什么显示成彩色的_python opencv image 怎么变成伪彩色相关推荐
- python将图片转换成动漫_python实现图片转换成素描和漫画格式
本文实例为大家共享了python实现图片转换成素描和漫画格式的详细代码,供大家参考,详细内容如下 原图 图片转换后的成果 源码 # -*- coding: utf-8 -*- import cv2 f ...
- python 将图片转换成像素画_Python 骚操作之图片转字符画
今天给大家介绍一个 Python 的骚操作,将图片转化为字符画,又是一个装逼的好技巧,大家赶紧 get 一下吧! 实现原理: 字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表 ...
- python把矩阵堆叠成大矩阵_python numpy 矩阵堆叠实例
在实际操作中,遇到了矩阵堆叠的操作,本来想着自己写一个函数,后来想,应该有库函数,于是一阵找寻 import numpy as np a = np.array([1,2,3]) b = np.arra ...
- python大列表分割成小列表_Python有什么方法将列表分割成大小均匀的块?求使用实例...
Python有什么方法将列表分割成大小均匀的块?求使用实例.我有一个任意长度的列表,我需要把它分成大小相等的块并对它进行操作.有一些很明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列 ...
- python解释器把python代码一次性翻译成目标代码_Python语言程序设计----【第1周 Python基本语法元素】之1.1 程序设计基本方法...
第1章 Python基本语法元素 1.1 程序设计基本方法 1.2 Python 开发环境配置 1.3 实例1:温度转换 1.4 Python程序语法元素分析 1.1 程序设计基本方法 计算机的概念: ...
- python将图片转换成二进制文本_python将图片文件转换成base64编码的方法
本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...
- python实现同时显示两条曲线_python matlibplot绘制多条曲线图
这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy as np im ...
- python将图片转换成动漫_python图片转换成素描和漫画格式的方法
python图片转换成素描和漫画格式的方法 发布时间:2020-08-20 09:30:41 来源:亿速云 阅读:79 作者:小新 小编给大家分享一下python图片转换成素描和漫画格式的方法,相信大 ...
- python黑屏改成白底_Python实现将蓝底照片转化为白底照片功能完整实例
本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...
最新文章
- C#中数组、ArrayList和List三者的区别
- a*算法迷宫 c++_算法竞赛专题解析(12):搜索基础
- 测试规范包括哪些_光学会自动化测试还不够?还差最后这一步!
- ASP.NET MVC4简单使用ELMAH记录系统日志
- 后盾网lavarel视频项目---2、phpstorm显示类中的方法快捷键
- No bean named 'dataSource' is defined
- 根据二叉树前序遍历和中序遍历重建二叉树
- 【机器学习】机器学习项目流程
- java 工作 日期转换代码,判断是否是当天,然后日期转换
- 离散数学之集合论 【上】
- python进阶13并发之九多进程和数据共享
- Xen虚拟机加入Puppet环境如何解决时间同步问题
- 关于vs2017如何配置和运行龙书DX9案例
- Chrome浏览器插件之---AdBlock和Adblock Plus
- linux下高性能服务器pdf,Linux高性能服务器编程(pdf+epub+mobi+txt+azw3)
- 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
- 【贪玩巴斯】一文学会检索三要素:检索字段、检索词、检索算法检索(二)——「一文学会检索三要素:检索字段、检索词、检索算法」 2021-09-18
- 20sccm_sccm是什么单位-简短介绍
- php实现图片加密,PHP实现支持加盐的图片加密解密.pdf
- 直接使用 Microsoft WinPE 工具 安装大于 4GB 的 WIM 文件
热门文章
- 用visio反向工程画oracle数据库表的结构图
- 计算机网络——TCP/IP参考模型和五层参考模型
- 2017年网易校招题 解救小易
- t分布f分布与样本均值抽样分布_分布模拟1——MCMC抽样方法
- c语言实现图像拼接程序,opencv2实现10张图像上下左右拼接融合分享!
- python装饰器用法_深入浅出分析Python装饰器用法
- python idle运行anaconda_在Python IDLE 下调用anaconda中的库教程
- pythonxlwt行居中_python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)...
- 三层神经网络实现手写字母的识别(基于tensorflow)
- Android手绘效果实现