unity实现COLORMAP_JET色度图
·
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
ref:https://blog.csdn.net/qq_41498261/article/details/109603986
前言
- COLORMAP_JET简介
计算机视觉中最常用的颜色映射算法是Jet,它具有高的对比度可以有效突出图像中的细节。但如果仔细观察图像的梯度图会发现一系列的颜色带,在青色和黄色区域最为明显。
在这里插入图片描述

缺点:这对于伪彩图最大的影响在于颜色变化过于剧烈,将导致人眼对于实际数据的误解。很多平滑过渡的区域会被误解为有较大的梯度。由于Jet映射对于人眼感知来说变化不是常量,所以它不具有感知均匀性。这种影响对于色盲人士来说更为明显,将造成伪彩图映射出的信息变得模糊。
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
、
1.MATLAB_jet
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class MATLAB_Jet
{
private static float colormap_red(float x)
{
if (x < 0.7)
{
return 4.0f * x - 1.5f;
}
else
{
return -4.0f * x + 4.5f;
}
}
private static float colormap_green(float x)
{
if (x < 0.5)
{
return 4.0f * x - 0.5f;
}
else
{
return -4.0f * x + 3.5f;
}
}
private static float colormap_blue(float x)
{
if (x < 0.3)
{
return 4.0f * x + 0.5f;
}
else
{
return -4.0f * x + 2.5f;
}
}
/// <summary>
/// 获取Let颜色值0~1
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
public static Color ColorMap(float x)
{
float r = Mathf.Clamp(colormap_red(x), 0.0f, 1.0f);
float g = Mathf.Clamp(colormap_green(x), 0.0f, 1.0f);
float b = Mathf.Clamp(colormap_blue(x), 0.0f, 1.0f);
return new Color(r, g, b, 1.0f);
}
}
总结
具体的各种伪彩图实现
https://github.com/kbinani/colormap-shaders/tree/master
更多推荐

所有评论(0)