Да, этот вопрос старый, но я пришел сюда, как и все остальные, в поисках ответа. Я решил, что после нескольких версий wx, numpy и opencv я расскажу о быстром решении с использованием cv2 и numpy images.
Это способ преобразования изображения стиля массива NumPy, используемого в OpenCV2, в растровое изображение, которое затем можно установить для элемента отображения в wxPython (на сегодняшний день ):
import wx, cv2
import numpy as np
# Start with a numpy array style image I'll call "source"
# convert the colorspace to RGB from cv2 standard BGR, ensure input is uint8
img = cv2.cvtColor(np.uint8(source), cv2.cv.CV_BGR2RGB)
# get the height and width of the source image for buffer construction
h, w = img.shape[:2]
# make a wx style bitmap using the buffer converter
wxbmp = wx.BitmapFromBuffer(w, h, img)
# Example of how to use this to set a static bitmap element called "bitmap_1"
self.bitmap_1.SetBitmap(wxbmp)
Проверено 10 минут назад:)
При этом используется встроенная функция wx BitmapFromBuffer и используется интерфейс буфера NumPy, поэтому все, что нам нужно сделать, это поменять цвета, чтобы получить цвета в ожидаемом порядке.