2017年6月24日土曜日

OpenCV-Python で読み込んだ画像を、wxPython で表示したい。

結論

実現は容易。 (※2017/6/24 全面改訂)

wx.BitmapFromBuffer() で、OpenCV で読み込んだ画像データ (np.ndarray) から wx.Bitmap を作成できる。

ただし、OpenCV で読み込んだ画像データは BGR形式であるため、事前に RGB形式に変換しておく必要あり。


import wx
import cv2
import numpy as np

def create_wx_bitmap_from_cv2_image(cv2_image):
    # type: (np.ndarray) -> wx.Bitmap

    height, width = cv2_image.shape[:2]
    cv2_image_rgb = cv2.cvtColor(cv2_image, cv2.COLOR_BGR2RGB)

    return wx.BitmapFromBuffer(width, height, cv2_image_rgb)

上記関数を用いたサンプルコード

実行結果

0 件のコメント :

コメントを投稿