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)