python颜色映射_python-opencv-图像颜色映射

图像颜色映射

图像颜色映射的实质是色彩通道的变换计算,即通过对图像的颜色通道值进行修改实现图像的颜色映射,说白了就是用新的bgr值替换掉旧的bgr值。

import cv2

import numpy as np

image = cv2.imread("wuhuan.jpg",1)

cv2.imshow('image',image)

image_info =image.shape

height=image_info[0]

width=image_info[1]

dst=np.zeros((height,width,3),np.uint8)

for i in range(height):

for j in range(width):

(b,g,r)=image[i,j]

b=b*1.5

if b>255:

b=255

dst[i,j]=(b,g,r)

cv2.imshow('dst', dst)

#cv2.imshow("dst",dst)

cv2.waitKey()

上述代码中,我们遍历原图像的像素点,并将像素点的蓝色通道值进行增强,具体来说,就是将bgr中的b(蓝色通道)值在原基础上乘以1.5。当然,颜色通道值的范围为0~255,因此对于乘积结果我们需要做范围判断,对于超过255的结果需要置为255。

效果图:

上面图可以看出,蓝色被加强了

图像彩色映射

与图像颜色映射用于增强某个或某几个颜色通道值不同的是,图像彩色映射主要应用于灰度图,并利用色度图产生伪彩色图像。

例如,假设我们想在地图上显示不同地区的温度。我们可以把地图上不同地区的温度数据叠加为灰度图像。其中,温度较低的地方用较暗的区域表示,温度较高的地区用较亮的区域表示。这样就形成了一个温度数据图像。这样的图像是很有意义的,我们能通过颜色的变化更好地感知不同区域温度的高地。除此之外,还有高度、压力、密度、湿度等我们都可以通过将其转换为彩色数据图像以实现数据的可视化。

OpenCV中一共定义了12种色度图,可以应用于灰度图像,产生不同的伪彩色图像。

上图中显示了一个关于色度图的视觉表示及OpenCV中的对应数值,其中,颜色条从左到右分别表示灰度值从小到大,即越小的灰度值将呈现越靠左边的颜色。

OpenCV中使用applyColorMap(src,colormap,dst=None)函数来产生伪彩色图像

importcv2

image= cv2.imread("wuhuan.jpg",1)

gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

cv2.imshow('gray',gray)

colormap=cv2.applyColorMap(gray,cv2.COLORMAP_JET) #彩色映射--制作伪彩色图像

'''参数1 src:必选参数。表示输入的原图像数组,原图像必须为灰度图或者是CV_8UC1、CV_8UC的彩色图

参数2 colormap:必选参数。用于设置图像彩色映射的参考色度图'''cv2.imshow('color',colormap)

cv2.waitKey()

效果图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值