匿名用户

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 怎么变成伪彩色相关推荐

  1. python将图片转换成动漫_python实现图片转换成素描和漫画格式

    本文实例为大家共享了python实现图片转换成素描和漫画格式的详细代码,供大家参考,详细内容如下 原图 图片转换后的成果 源码 # -*- coding: utf-8 -*- import cv2 f ...

  2. python 将图片转换成像素画_Python 骚操作之图片转字符画

    今天给大家介绍一个 Python 的骚操作,将图片转化为字符画,又是一个装逼的好技巧,大家赶紧 get 一下吧! 实现原理: 字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表 ...

  3. python把矩阵堆叠成大矩阵_python numpy 矩阵堆叠实例

    在实际操作中,遇到了矩阵堆叠的操作,本来想着自己写一个函数,后来想,应该有库函数,于是一阵找寻 import numpy as np a = np.array([1,2,3]) b = np.arra ...

  4. python大列表分割成小列表_Python有什么方法将列表分割成大小均匀的块?求使用实例...

    Python有什么方法将列表分割成大小均匀的块?求使用实例.我有一个任意长度的列表,我需要把它分成大小相等的块并对它进行操作.有一些很明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列 ...

  5. python解释器把python代码一次性翻译成目标代码_Python语言程序设计----【第1周 Python基本语法元素】之1.1 程序设计基本方法...

    第1章 Python基本语法元素 1.1 程序设计基本方法 1.2 Python 开发环境配置 1.3 实例1:温度转换 1.4 Python程序语法元素分析 1.1 程序设计基本方法 计算机的概念: ...

  6. python将图片转换成二进制文本_python将图片文件转换成base64编码的方法

    本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...

  7. python实现同时显示两条曲线_python matlibplot绘制多条曲线图

    这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy as np im ...

  8. python将图片转换成动漫_python图片转换成素描和漫画格式的方法

    python图片转换成素描和漫画格式的方法 发布时间:2020-08-20 09:30:41 来源:亿速云 阅读:79 作者:小新 小编给大家分享一下python图片转换成素描和漫画格式的方法,相信大 ...

  9. python黑屏改成白底_Python实现将蓝底照片转化为白底照片功能完整实例

    本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...

最新文章

  1. C#中数组、ArrayList和List三者的区别
  2. a*算法迷宫 c++_算法竞赛专题解析(12):搜索基础
  3. 测试规范包括哪些_光学会自动化测试还不够?还差最后这一步!
  4. ASP.NET MVC4简单使用ELMAH记录系统日志
  5. 后盾网lavarel视频项目---2、phpstorm显示类中的方法快捷键
  6. No bean named 'dataSource' is defined
  7. 根据二叉树前序遍历和中序遍历重建二叉树
  8. 【机器学习】机器学习项目流程
  9. java 工作 日期转换代码,判断是否是当天,然后日期转换
  10. 离散数学之集合论 【上】
  11. python进阶13并发之九多进程和数据共享
  12. Xen虚拟机加入Puppet环境如何解决时间同步问题
  13. 关于vs2017如何配置和运行龙书DX9案例
  14. Chrome浏览器插件之---AdBlock和Adblock Plus
  15. linux下高性能服务器pdf,Linux高性能服务器编程(pdf+epub+mobi+txt+azw3)
  16. 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
  17. 【贪玩巴斯】一文学会检索三要素:检索字段、检索词、检索算法检索(二)——「一文学会检索三要素:检索字段、检索词、检索算法」 2021-09-18
  18. 20sccm_sccm是什么单位-简短介绍
  19. php实现图片加密,PHP实现支持加盐的图片加密解密.pdf
  20. 直接使用 Microsoft WinPE 工具 安装大于 4GB 的 WIM 文件

热门文章

  1. 用visio反向工程画oracle数据库表的结构图
  2. 计算机网络——TCP/IP参考模型和五层参考模型
  3. 2017年网易校招题 解救小易
  4. t分布f分布与样本均值抽样分布_分布模拟1——MCMC抽样方法
  5. c语言实现图像拼接程序,opencv2实现10张图像上下左右拼接融合分享!
  6. python装饰器用法_深入浅出分析Python装饰器用法
  7. python idle运行anaconda_在Python IDLE 下调用anaconda中的库教程
  8. pythonxlwt行居中_python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)...
  9. 三层神经网络实现手写字母的识别(基于tensorflow)
  10. Android手绘效果实现