python 偽彩色(JET映射)圖片轉(zhuǎn)成深度圖,解決偽彩色圖被編碼處理過(guò)的問(wèn)題

1.輸入是經(jīng)過(guò)Jet處理的偽彩色圖像,輸出是深度圖

def Jet2Gray(false_color_image):
    gray_values = np.arange(256, dtype=np.uint8)
    color_values = map(tuple, cv2.applyColorMap(gray_values, cv2.COLORMAP_JET).reshape(256, 3))
    color_to_gray_map = dict(zip(color_values, gray_values))
    # apply the inverse map to the false color image to reconstruct the grayscale image
    gray_image = np.apply_along_axis(lambda bgr: color_to_gray_map[tuple(bgr)], 2, false_color_image)
    return gray_image

2.有時(shí)候偽彩色圖像經(jīng)過(guò)編碼等會(huì)破壞原來(lái)的映射關(guān)系,直接用上述方法處理行不通,所以需要經(jīng)過(guò)濾波處理,方法如下:

import cv2
    import numpy as np
    # create an inverse from the colormap to gray values
    gray_values = np.arange(256, dtype=np.uint8)
    color_values = map(tuple, cv2.applyColorMap(gray_values, cv2.COLORMAP_JET).reshape(256, 3))
    color_to_gray_map = dict(zip(color_values, gray_values))
    keys = list(color_to_gray_map.keys())
    pass
    pic_path = "test.png"  # 圖片路徑
    img = cv2.imread(pic_path)
    for x in range(img.shape[0]):  # 圖片的高
        print(x)
        for y in range(img.shape[1]):  # 圖片的寬
            px = img[x, y]
            # print(px)  # 這樣就能得到每個(gè)點(diǎn)的bgr值
            d_min = 100000
            best_val = px
            for key in keys:
                d = 0
                for i in range(3):
                    d += abs(float(px[i])-float(key[i]))
                if d < d_min:
                    best_val = np.array(key)
                    # temp = img[x, y]
                    d_min = d
            img[x, y] = best_val
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 128,187評(píng)論 1 9
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂(lè)有人憂(yōu)愁,有人驚喜有人失落,有的覺(jué)得收獲滿(mǎn)滿(mǎn)有...
    陌忘宇閱讀 8,874評(píng)論 28 54
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,777評(píng)論 2 9
  • 信任包括信任自己和信任他人 很多時(shí)候,很多事情,失敗、遺憾、錯(cuò)過(guò),源于不自信,不信任他人 覺(jué)得自己做不成,別人做不...
    吳氵晃閱讀 6,382評(píng)論 4 8

友情鏈接更多精彩內(nèi)容