2 つの画像を重ね合わせようとしているので、両方を 1 つのウィンドウに表示できます。最初の画像は元の 3 チャンネルの画像で、2 番目の画像はグレー バージョンです。cv2.cvtColor で色変換を行い、 numpy.dstack で 3 チャンネルに戻しました。 cv2.imshowを試すと、「コア ダンプ」エラーが発生します。何か不足していますか?numpy.hstack でそれらをスタックするには、両方の画像が同じ数のチャネルを持つ必要があります。これは、Ubuntu 64 ビット マシンで発生します。
import cv2
import numpy as np
img = cv2.imread("/home/bernie/Dropbox/Python/Opencv/lena512.jpg")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.dstack((gray,gray,gray))
#res = np.hstack((img,gray))
print gray.dtype
print gray.shape
cv2.imshow('gray',gray)
#cv2.imshow('res',res)
cv2.waitKey()
添加
一方、
gray = cv2.cvtColor(gray,cv2.COLOR_GRAY2BGR)
7行目は問題なく動作するので、今のところこれに固執します。これは、 cv2.cvtColorの結果とnumpy.dstackの結果に違いがあり、1 チャンネルの画像を同じ値で 3 チャンネルに変換することを意味します。