python环境下进行灰度转伪彩色转换
来源:网络收集 点击: 时间:2024-07-06理论基础知识:
1)伪彩色增强,对灰度进行颜色划分。由一定的映射关系求R,G,B,组成该点的彩色值;
还有空域转频域再转空域和 3)光滑非线性的变换函数的方法,都太复杂,具体请度娘。
一下是百度得到的伪彩色经典图形和转换函数


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转换为 灰度图。

根据经验公式编写SetcolorR 完成Red颜色转换
def SetcolorR(gray): if gray 127: return 0 elif gray 191: return 255 else: return 4 * gray - 510

根据经验公式编写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)

根据经验公式编写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

进行TransColor转换
先np.zeros构造彩色矩阵
然后每个像素按照经验公式进行转换!
def TransColor(image): rows = image.shape cols = image.shape 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) g = SetcolorG(image) b = SetcolorB(image) Color = r Color = g Color = b return Color
7/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()

这种方法处理的图片效果并不理想,颜色越深他会处理成某种颜色,偏色很严重
作为一种对特定黑白颜色的补充还是可用的。方便判断
PYTHONOPENCV伪彩色黑白转彩色灰度转彩色版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_938504.html