两句代码实现PIL转换为CV2使用的array,另有PyQt5 QImage图像转CV2格式的array

两句代码实现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

版权声明:本文为enteracity原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。