两句代码实现PIL转换为CV2使用的array
PyQt5图像转array(QImage转换为np array)
PIL转换为CV2使用的array
def grab(axis):
"""RGB转BGR"""
img = ImageGrab.grab(axis)
img = np.array(img)[..., ::-1]
return img
QImage转array
def grab_pyqt():
hw = win32gui.WindowFromPoint(win32api.GetCursorPos())
app = QApplication(sys.argv)
screen = QApplication.primaryScreen()
img = screen.grabWindow(hw).toImage()
ptr = img.constBits()
ptr.setsize(img.byteCount())
mat = np.array(ptr).reshape(img.height(), img.width(), 4) # 注意这地方通道数一定要填4,否则出错
return mat