python环境下进行灰度转伪彩色转换

 时间:2026-02-12 23:29:33

1、理论基础知识:

1)伪彩色增强,对灰度进行颜色划分。由一定的映射关系求R,G,B,组成该点的彩色值;

还有空域转频域再转空域和 3)光滑非线性的变换函数的方法,都太复杂,具体请度娘。

一下是百度得到的伪彩色经典图形和转换函数

python环境下进行灰度转伪彩色转换

python环境下进行灰度转伪彩色转换

2、import cv2  as cv

import  numpy as np

image = cv.imread('c:\\meiping1.png')

cv.imshow('image',image)

grayImg = cv.cvtColor(image, cv.COLOR_BGR2GRAY)

先使用imread加载图片

cvtColor转换为 灰度图。

python环境下进行灰度转伪彩色转换

3、根据经验公式编写SetcolorR 完成Red颜色转换

def SetcolorR(gray):    if gray < 127:        return 0    elif gray > 191:        return 255    else:        return 4 * gray - 510

python环境下进行灰度转伪彩色转换

4、根据经验公式编写SetcolorG完成Green颜色转换

def SetcolorG(gray):

    if (gray <= 63):

        return 254 - 4*gray

    elif (gray >= 64 and gray <= 127):

        return (gray-191)*4 - 254

    elif (gray >= 128 and gray <= 191):

        return 255

    elif (192 <= gray and gray <= 255):

        return (1022 - 4*gray)

python环境下进行灰度转伪彩色转换

5、根据经验公式编写SetcolorB完成Blue颜色转换

def SetcolorB(gray):    if (0 <= gray and gray <= 63):        return 255    elif (64 <= gray and gray <= 127):        return 510 - 4*gray    elif (128 <= gray and gray <= 255):        return 0

python环境下进行灰度转伪彩色转换

6、进行TransColor转换

先np.zeros构造彩色矩阵 

然后每个像素按照经验公式进行转换!

def TransColor(image):    rows = image.shape[0]    cols = image.shape[1]   print(rows, cols)    Color = np.zeros((rows, cols, 3), np.uint8)    使用zeros构造彩色矩阵 这种方法很好 很常用

   for i in range(rows):        for j in range(cols):            r = SetcolorR(image[i,j])            g = SetcolorG(image[i,j])            b = SetcolorB(image[i,j])            Color[i, j, 0] = r            Color[i, j, 1] = g            Color[i, j, 2] = b    return Color

7、主函数部分

image = cv.imread('c:\\meiping1.png')

cv.imshow('image',image)

grayImg = cv.cvtColor(image, cv.COLOR_BGR2GRAY)

# print(image)

grayImg2Color = TransColor(grayImg)  调用颜色转换函数!

cv.imshow('grayImg',grayImg)

r,g,b = cv.split(grayImg2Color)

cv.imshow('Color0',r)

cv.imshow('Color1',g)

cv.imshow('Color2',b)

cv.imshow('grayImg2Color',grayImg2Color)

cv.waitKey(0)

cv.destroyAllWindows()

python环境下进行灰度转伪彩色转换

  • Sniffer使用攻略经验:[2]分析SYN数据包
  • 如何使用Visio2010创建电气系统图?
  • 用笔记本电脑做Wifi移动热点怎么进行设置
  • 流程图该怎么画
  • MDK仿真时,如何查看变量的变化情况
  • 热门搜索
    珠海旅游攻略自由行 去美国旅游要多少钱 北京旅游年票网 浙江乌镇旅游景点 富春江旅游 扬州旅游攻略二日游 11月份去哪里旅游好 加拿大旅游景点 四川旅游资源 山西运城旅游景点