广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-07-06
    【导读】:
    关于伪彩色的用途以前考虑的不多,其实还是有一些用途的,比如老的黑白照片转彩色,还有夜间黑白图转伪彩图,方便辨识等。工具/原料morepycharm windows7opencv3 python3方法/步骤1/7分步阅读

    理论基础知识:

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

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

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

    2/7

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

    3/7

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

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

    4/7

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

    5/7

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

    6/7

    进行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

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 08:55:36  耗时:0.024
    0.0241s