将脑图像转换成伪彩色
基于opencv
#include <opencv2/opencv.hpp>using namespace cv;using namespace std;Mat scaleGray(const Mat& inputGray){Mat outputGray(inputGray.size(), CV_8U);unsigned char grayValue, maxValue = 1;for (int y = 0; y < inputGray.rows; y++)for (int x = 0; x < inputGray.cols; x++){grayValue = inputGray.at<uchar>(y, x);maxValue = max(maxValue, grayValue);}float scale = 255.0 / maxValue;for (int y = 0; y < inputGray.rows; y++)for (int x = 0; x < inputGray.cols; x++){outputGray.at<uchar>(y, x) = static_cast<unsigned char>(inputGray.at<uchar>(y, x) * scale + 0.5);}return outputGray;}Mat gray2pseudocolor(const Mat& scaledGray){Mat outputPseudocolor(scaledGray.size(), CV_8UC3);unsigned char grayValue;for (int y = 0; y < scaledGray.rows; y++)for (int x = 0; x < scaledGray.cols; x++){grayValue = scaledGray.at<uchar>(y, x);Vec3b& pixel = outputPseudocolor.at<Vec3b>(y, x);pixel[0] = abs(255 - grayValue);pixel[1] = abs(127 - grayValue);pixel[2] = abs(0 - grayValue);}return outputPseudocolor;}/** color R G B gray* red 255 0 0 255* orange 255 127 0 204* yellow 255 255 0 153* green 0 255 0 102* cyan 0 255 255 51* blue 0 0 255 0**/Mat gray2rainbow(const Mat& scaledGray){Mat outputRainbow(scaledGray.size(), CV_8UC3);unsigned char grayValue;for (int y = 0; y < scaledGray.rows; y++)for (int x = 0; x < scaledGray.cols; x++){grayValue = scaledGray.at<uchar>(y, x);Vec3b& pixel = outputRainbow.at<Vec3b>(y, x);if (grayValue <= 51){pixel[0] = 255;pixel[1] = grayValue * 5;pixel[2] = 0;}else if (grayValue <= 102){grayValue -= 51;pixel[0] = 255 - grayValue * 5;pixel[1] = 255;pixel[2] = 0;}else if (grayValue <= 153){grayValue -= 102;pixel[0] = 0;pixel[1] = 255;pixel[2] = grayValue * 5;}else if (grayValue <= 204){grayValue -= 153;pixel[0] = 0;pixel[1] = 255 - static_cast<unsigned char>(grayValue * 128.0 / 51 + 0.5);pixel[2] = 255;}else if (grayValue <= 255){grayValue -= 204;pixel[0] = 0;pixel[1] = 127 - static_cast<unsigned char>(grayValue * 127.0 / 51 + 0.5);pixel[2] = 255;}}return outputRainbow;}int main(){Mat inputGray = imread("F://Visual Studio 2015//Gq_1//Gq_1//03-3.png", 0);Mat scaledGray = scaleGray(inputGray);Mat pseudocolor = gray2pseudocolor(scaledGray);Mat rainbow = gray2rainbow(scaledGray);//imwrite("001.png", scaledGray);//imwrite("002.png", pseudocolor);imwrite("03-4.png", rainbow);return 0;}
将脑图像转换成伪彩色相关推荐
- R语言使用magick包的image_animate函数和image_morph函数创建一个由n个图像组成的序列,逐渐将一个图像转换成另一个图像(sequence of image morph by)
R语言使用magick包的image_animate函数和image_morph函数创建一个由n个图像组成的序列,逐渐将一个图像转换成另一个图像(Creates a sequence of n ima ...
- html在线ocr文字识别源码,如何用OCR文字识别软件把图像转换成HTML
之前给大家介绍了使用PDF转换成HTML文档首选ABBYY Mac),其实ABBYY FineReader无论Mac版还是Windows版都可以实现这一点,除此之外还可以将图像文件转换成HTML文档, ...
- 将有色液体图像转换成透明液体,CMU教机器人准确掌控向杯中倒多少水
点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 转载自:机器之心 后台回复"加群"进入-> CV 微信技术交 ...
- #今日论文推荐# 将有色液体图像转换成透明液体,CMU教机器人准确掌控向杯中倒多少水
#今日论文推荐# 将有色液体图像转换成透明液体,CMU教机器人准确掌控向杯中倒多少水 借助不同风格之间的图像转换,CMU 的研究者教会了机器人理解透明液体. 如果机器人可以倒液体,则可以帮助我们自动完 ...
- C语言运行时变成灰色,C语言实现RGB图像转换成灰(Gray)度图像
以前实现RGB图像转换成灰度图像都是直接调用OpenCV的库函数RGB2GRAY(IplImage* src);最近老板让我们除了读入输出图像实时用OpenCV的函数,其余的最好都是自己写,所以我自己 ...
- Python 如何把图像转换成video (avi)格式?
Python 如何把图像转换成video (avi)格式? import cv2 def image_to_video(image_dir, save_dir, size: tuple, fps=10 ...
- 将.mat格式的高光谱图像转换成png或jpg格式
将.mat格式的高光谱图像转换成png或jpg格式 使用MATLAB打开.mat文件,并读取高光谱图像数据. 如果高光谱图像数据为三维矩阵,将其转置为(宽度,高度,波段数)的形式.这是因为MATLAB ...
- 如何用OCR文字识别软件把图像转换成HTML
2019独角兽企业重金招聘Python工程师标准>>> 之前给大家介绍了使用OCR文字识别软件ABBYY FineReader Mac版将PDF转换成HTML文档(详见PDF转换成H ...
- Windows Forms:在C#中将图像转换成灰度图
Windows Forms:在C#中将图像转换成灰度图 本文翻译自Windows Forms: Convert an image into grayscale in C# 这篇文章向你展示在C# Wi ...
- Linux终端上如何将图像转换成 ASCII 艺术
想在 Linux 终端中做一些有趣的事情吗?把一张普通的图片转换成 ASCII 艺术怎么样?来看一下. 想在 Linux 终端中做一些有趣的事情吗?把一张普通的图片转换成 ASCII 艺术怎么样? 你 ...
最新文章
- c++ 数据类型转换笔记
- Oracle存储过程(增、删、改)写法
- flutter能开发游戏吗_游戏开发者都擅长“打自己的游戏”吗?
- Celery分布式任务队列的认识和基本操作
- MSMQ消息队列安装
- flask中的信号机制
- GameJS——Game Library written in JavaScript
- 猫癣病毒躲猫猫移师广东东莞月入百万作者
- 著名的软件项目开发和生命周期管理软件MKS.Code.Integrity.Enterprise.Edition.v12
- Blender学习入门(一)-Blender的下载和插件安装
- 集线器和交换机的区别 傻傻分不清
- win11系统中文名改英文名(win11、win10修改用户名)超详细图文
- outlook 发送邮件
- 2021-12-21 理解JS中的shim / polyfill / 垫片概念
- java基础-(六)-使用 Spring Initializr 创建springBoot项目
- Android 修改系统屏幕亮度
- sql查询数据表某列的重复值并计数
- 【小程序迁移】微信小程序迁移到支付宝记坑
- 2023年武汉理工大学能源动力(085800)考研上岸前辈备考经验指导
- python将大文件拆分成多个小文件,同时对各小文件处理以节省时间