彩色图像–伪彩处理 灰度图转伪彩色图像

彩色图像–伪彩处理 灰度图转伪彩色图像

大家好,又见面了,我是全栈君。

学习DIP第68天
转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro

开篇废话

观察了一下冈萨雷斯的书,发现彩色图像处理仅仅用了一章进行介绍,原因分析了一下,后来发现,好像别的介绍的也不多,得出一个结论。冈萨雷斯这本书仅仅能作为一部纲领性的介绍。它基本涵盖了图像处理的基础知识。可是假设想使用某种方向作为工作的话。须要继续找很多其它专业的书和开源项目来学习。

还是像我之前抱怨的那样。每次看一本书之前都认为自己看完了会变得超级厉害,但每次看完一本书以后反而会认为自己像个傻瓜一样。须要很多其它的书来学习,如此循环,这一生都不会幸福了。盗图一张,与各位共勉


这里写图片描写叙述

原理

说到伪彩色图像,与其相应的是真彩色,以下介绍下其差别和性质。
我们知道可以观察出颜色的光的波长范围是有限的,仅仅有那么一小段,换句话说也就是说有一大段光,仅仅有一小段有颜色。其它都是灰度的,但人类视觉有一个特点就是,仅仅能分辨出二十几种灰度,也就是说採集到的灰度图像分辨率超级高。有一千个灰度级,但非常遗憾。人们仅仅能看出二十几个,也就是说信息损失了五十倍,但人类视觉对彩色的分辨能力相当强,可以分辨出几千种色度。
在从採集的角度说下伪彩和真彩色,伪彩色原始图像是灰度图像
灰度图像的来源:

  1. 单通道相机或其它传感器(比方CT用的平板)採集到的都是灰度图,这里包含使用单通道採集的频率高于可见光的频率的电磁波,可见光,低于可见光频率的电磁波。


    这里写图片描写叙述

    图中红色框内为不可见光,没有颜色。所以他们一定是灰度图,须要时要进行伪彩色处理。

  2. 使用多通道採集设备採集的不可见光,这种图像有时候是单通道的。就是1中所说的,也有可能是多通道,不如卫星就有可能,红外。可见光,还有其它不可见光採集设备。这种多通道灰度图有时候须要进行伪彩处理。

真彩色图的来源:
用多通道採集设备,多为相机来採集可见光,这样得到的是多通道真彩色图像。

算法分析

对于单通道灰度图转换成伪彩图像的方法是将一种灰度映射为一种颜色。而映射方式不唯一。可以依据须要自行设定,以下的代码使用的算法是我自己想出来的,使用到了HSV色彩空间。并将当中的饱和度和亮度设为1.0,色相使用灰度0到255映射到0°到270°:


这里写图片描写叙述

代码

void Gray2Color(double *src,RGB* dst,int width,int height,int type){
    HSV* temp=(HSV*)malloc(sizeof(HSV)*width*height);
    for(int i=0;i<width*height;i++){
        double gray_value=src[i];
        if(type==HIGHVALUE_EQU_RED)
            temp[i].c1=HSVMAX-GRAY2HSV*gray_value;
        else if(type==LOWVALUE_EQU_RED)
            temp[i].c1=GRAY2HSV*gray_value;
        temp[i].c2=1.0;
        temp[i].c3=1.0;
    }
    HSV2RGB(temp, dst, width, height);
    free(temp);
}

效果分析

灰度渐进图:


这里写图片描写叙述


这里写图片描写叙述


这里写图片描写叙述

MacBook Pro x光扫描图


这里写图片描写叙述


这里写图片描写叙述


这里写图片描写叙述

卫星地形图:


这里写图片描写叙述


这里写图片描写叙述


这里写图片描写叙述

星云:


这里写图片描写叙述


这里写图片描写叙述


这里写图片描写叙述

总结

伪彩色图乡相对灰度图像可以识别很多其它的细节,可分辨性较强。

并且转换方式灵活。可以依据须要自行设计转换函数。或者自制映射表。
待续。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116312.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月23日 上午7:00
下一篇 2022年1月23日 上午8:00


相关推荐

  • 图的广度优先搜索(BFS)和深度优先搜索(DFS)算法解析

    图的广度优先搜索(BFS)和深度优先搜索(DFS)算法解析BFS DFS 算法解析 算法入门 2018 6 21 前言和树的遍历类似 图的遍历也是从图中某点出发 然后按照某种方法对图中所有顶点进行访问 且仅访问一次 但是图的遍历相对树而言要更为复杂 因为图中的任意顶点都可能与其他顶点相邻 所以在图的遍历中必须记录已被访问的顶点 避免重复访问 根据搜索路径的不同 我们可以将遍历图的方法分为两种 广度优先搜索和深度优先搜索 2 图的基本概念 2 1 无向图和无向

    2026年3月19日
    2
  • pycharm全家桶激活码2021年_通用破解码[通俗易懂]

    pycharm全家桶激活码2021年_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    159
  • idea查看自己的激活码_在线激活「建议收藏」

    (idea查看自己的激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html83…

    2022年3月27日
    214
  • 监督学习、无监督学习和半监督学习区别

    监督学习、无监督学习和半监督学习区别1 概念 1 1 监督学习 数据集有输入和输出数据 通过已有的一部分输入数据与输出数据之间的相应关系 生成一个函数 将输入映射到合适的输出 比如分类 1 2 无监督学习 数据集中只有输入 直接对输入数据集进行建模 比如聚类 1 3 半监督学习 综合利用有类标的数据和没有类标的数据 来生成合适的分类函数 2 类别 2 1 监督学习分为分类 classificati 和回归 regression

    2026年3月17日
    2
  • 产品模块化设计_pom设计模式

    产品模块化设计_pom设计模式对于,ecmall的本身自带的模板,可能很多用过的朋友都知道,其实还有许多功能根本无法实现。从根本上来讲,不如Smarty强大,但本人也试过将smarty引入但不是很成功,究其原因,ecmall的模板,并不是单纯地模板,而是在解析时参入了许多其它业务的逻辑,所以,直接以smarty来代替ecmall本身的模板,在widget的开发时会有很大的问题。所以,为了灵活情,本人,在ecmall

    2025年8月11日
    5
  • CentOS搭建Discuz论坛

    CentOS搭建Discuz论坛

    2021年6月2日
    125

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号