mirror of
https://github.com/wassname/sloth.git
synced 2026-06-29 15:12:17 +08:00
26 lines
942 B
Python
26 lines
942 B
Python
from sloth.core.exceptions import NotImplementedException
|
|
from PyQt4.QtGui import QImage, qRgb
|
|
import numpy as np
|
|
|
|
gray_color_table = [qRgb(i, i, i) for i in range(256)]
|
|
def toQImage(im, copy=False):
|
|
if im is None:
|
|
return QImage()
|
|
|
|
if im.dtype == np.uint8:
|
|
if len(im.shape) == 2:
|
|
qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_Indexed8)
|
|
qim.setColorTable(gray_color_table)
|
|
return qim.copy() if copy else qim
|
|
|
|
elif len(im.shape) == 3:
|
|
if im.shape[2] == 3:
|
|
qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_RGB888);
|
|
return qim.copy() if copy else qim
|
|
elif im.shape[2] == 4:
|
|
qim = QImage(im.data, im.shape[1], im.shape[0], im.strides[0], QImage.Format_ARGB32);
|
|
return qim.copy() if copy else qim
|
|
|
|
raise NotImplementedException
|
|
|