OpenCV笔记006————Image Pseudo-Color Enhancement

图像伪色彩增强Image Pseudo-Color Enhancement的代码注释如下。

import cv2 as cv

src = cv.imread("dataset/train/test0.jpg")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
dst = cv.applyColorMap(src, cv.COLORMAP_COOL)
cv.imshow("output", dst)
# void applyColorMap(InputArray src, OutputArray dst, int colormap)
# src: 源图像(灰度图或彩色图(CV_8UC1 or CV_8UC3))。
# dst: 在源图像上进行色彩映射后的结果图像。
# colormap:提供的色彩图代码值。 COLORMAP_COOL是colormap types的一种,其他见图。

image = cv.imread("dataset/train/test1.png")
color_image = cv.applyColorMap(image, cv.COLORMAP_JET)
cv.imshow("image", image)
cv.imshow("color_image", color_image)
cv.waitKey(0)
cv.destroyAllWindows()
#同上,cv.COLORMAP_JET是colormap types的一种,其他见图。

运行效果如下:
在这里插入图片描述
Colormap Types为下图:
在这里插入图片描述
图像伪色彩增强的原理为以下解释:
OpenCV提供了各种颜色映射,以增强计算机视觉应用程序中的可视化。在OpenCV中,只需要applyColorMap就可以在给定的图像上应用颜色映射。
opencv默认读取的是8位图像数据,如果需要读取16位深度的图像,你需要进行相应的处理。有时会奇怪 位深度对于一个图像有什么用,位深度用于指定图像中的每个像素可以使用的颜色信息数量。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就更逼真。例如,位深度为 1 的图像的像素有两个可能的值:黑色和白色。位深度为 8 的图像有 28(即 256)个可能的值。位深度为 8 的灰度模式图像有 256 个可能的灰色值。RGB 图像由三个颜色通道组成。8 位/像素的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。除了 8 位/通道的图像之外,Photoshop 还可以处理包含 16 位/通道或 32 位/通道的图像。包含 32 位/通道的图像也称作高动态范围 (HDR) 图像。
灰度是描述灰度图像内容的最直接的视觉特征。它指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图像也称灰度图像。灰度图像矩阵元素的取值通常为[0,255],因此其数据类型一般为8位无符号整数,这就是人们通常所说的256级灰度。将灰度图像转换为彩色图像,称为灰度图像的伪彩色处理。伪彩色处理技术的实现方式有很多,如:灰度分割法、灰度级-彩色变换法、滤波法等等。以下采用的是灰度级-彩色变换法,这是将来自传感器的灰度图像送入三个不同特征的R、G、B变换器,然后将三种变换器的不同输出分别送到彩色显示器进行显示的技术。
对应每一种ColormapType,都有公式使被map的矩阵数值与map后的颜色的数值一一对应,执行前先判断是CV_8UC1还是CV_8UC3,到时它直接计算就好了。

在这里插入图片描述
总结为:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值