Image.open()和cv2.imread()

  1. img = Image.open(ImgPath)打开的图片是PIL类型,默认RGB。
    将PIL类型转化为numpy类型:im = numpy.array(img)
    才能看到shape属性,是(height, width, channel)数组,channel的通道数据是RGB。

  2. cv2.imread(path, 读取方式)
    path: 图片的路径;
    读取方式: cv2.IMREAD_COLOR:读入一副彩色图片;cv2.IMREAD_GRAYSCALE:以灰度模式读入图片;cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道。
    默认为cv2.IMREAD_COLOR。
    返回值是(height,width,channel)数组,channel的顺序是BGR顺序

  3. 两者之间的相互转换
    PIL Image转化为OpenCV格式
    img = Image.open()
    img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
    OpenCV转化为PIL Image格式
    img = cv2.imread()
    img2 = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

  4. 判断图像数据是否为OpenCV格式:
    isinstance(img, np.ndarray)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容