OpenCVを使用して、Python)のCV_64FC1
タイプの画像をCV_8UC1
に変換したい。
C++では、convertTo
関数を使用して、次のコードスニペットを使用して画像タイプを簡単に変換できます。
image.convertTo(image, CV_8UC1);
インターネットで検索しましたが、エラーなしで解決策を見つけることができません。 Python OpenCVでこれを変換する関数はありますか?
これをNumpy配列に変換できます。
import numpy as np
# Convert source image to unsigned 8 bit integer Numpy array
arr = np.uint8(image)
# Width and height
h, w = arr.shape
OpenCV Python APIはNumpy配列も受け入れます。私はそれをテストしていません。テストして結果を教えてください。
同様の問題に直面し、画像64FをCV_U8に変換しようとすると、黒い画面が表示されました。
この link は、データ型と変換を理解するのに役立ちます。以下は私のために働いたコードです。
from skimage import img_as_ubyte
cv_image = img_as_ubyte(any_skimage_image)