bokeh에 컬러 이미지 보이기

1799 단어 Bokeh
bokeh로 컬러 이미지를 표시하는 데 약간의 시간이 걸렸기 때문에 남았다.
import numpy as np
from skimage import data
img = data.coffee()#サンプル画像読み込み

from bokeh.plotting import figure
from bokeh.io import show, output_notebook
output_notebook()

imgH, imgW, ch = img.shape

#int32にint8×4ch(RGBA)をviewを使って代入する
img_plt = np.empty((imgH,imgW), dtype=np.uint32)
view = img_plt.view(dtype=np.uint8).reshape((imgH, imgW, 4))
view[:, :, 0:3] = np.flipud(img[:, :, 0:3])#上下反転あり
view[:, :, 3] = 255

p = figure(x_range=(0,imgW), y_range=(0,imgH))
p.image_rgba(image=[img_plt], x=0, y=0, dw=imgW, dh=imgH)
show(p)

추기
컬러 이미지와 단색 이미지의 복사 함수 보이기
def show(img):
    import numpy as np
    from bokeh.plotting import figure
    from bokeh.io import show, output_notebook
    output_notebook()    

    imgH =img.shape[0]
    imgW= img.shape[1]

    if(img.ndim == 3):#(imgH,imgW,ch)int8*3chのカラー画像を表示
        img_plt = np.empty((imgH,imgW), dtype=np.uint32)
        view = img_plt.view(dtype=np.uint8).reshape((imgH, imgW, 4))
        view[:, :, 0:3] = np.flipud(img[:, :, 0:3])#上下反転あり
        view[:, :, 3] = 255    
        p = figure(x_range=(0,imgW), y_range=(0,imgH), plot_width=imgW, plot_height=imgH)
        p.image_rgba(image=[img_plt], x=0, y=0, dw=imgW, dh=imgH)

    else:#(imgH,imgW)モノクロ画像を表示(スケーリングは自動)
        palette_256 = ['#%02x%02x%02x' %(i,i,i) for i in range(256)] #256段階で白黒表示用
        img = np.flipud(img)#上下反転あり
        p = figure(x_range=(0,imgW), y_range=(0,imgH), plot_width=imgW, plot_height=imgH)
        p.image(image=[img], x=0, y=0, dw=imgW, dh=imgH, palette=palette_256)

    show(p)

좋은 웹페이지 즐겨찾기