2016-03-28 23 views
0

カメラで読み取った画像のピクセルを変更していて、imshow()を使って画面上で確認しようとしていますが、毎回黒い画面が表示されてしまいます。私はimwrite()を使用して(最初にそれを保存し、imread()を使用して(再びそれを読めばそれが動作 唯一の方法はある)cv2.imshow()引数の形式は?

これは、黒い画面が得られます -

def foo(im): 
    cv2.show(im) 
    cv2.waitKey(10) 

ret_im = some_fn(some_image) 
foo(ret_im) 

一方、これは正しいイメージを与えます: -

def foo(im): 
    cv2.show(im) 
    cv2.waitKey(10) 

ret_im = some_fn(some_image) 
cv2.write("some_name.png",ret_im) 
ret_im = cv2.read("some_name.png") 
foo(ret_im) 

元画像も魔法のように動作例:

def foo(im): 
    cv2.show(im) 
    cv2.waitKey(10) 

foo(some_image) 
01。

私はこれが入力データ形式と関係があると思います。画像を変更して、some_imageタイプと一致させようとしました。

私は、リストとして、最後にそれを処理する画像を変更する使用してアレイをnumpyのためにそれを変換していますことをここで言及する必要があります。numpy.array(list_name)

だから、それは、作業として考えることができます。

def foo(im): 
    cv2.show(im) 
    cv2.waitKey(10) 

ret_im = numpy.array(some_fn(some_image)) 
foo(ret_im) 

答えて

0

画像フォーマットには「uint8」の数字が必要です。 問題を引き起こしていたint32番号を使用していました。

関連する問題