使用python读入图片的方式

之前使用python写代码的时候,习惯是使用opencv的python接口。也就是 import cv2 然后尽情地使用 cv2 里面有的所有东西。
但是前几天遇到服务器上使用 cv2.VideoCapture() 函数无法读取某些视频(原因大概是因为codec造成的),这个问题暂时还没有解决,我转而使用了另外一种替代的方法,也就是 imageio 模块:

import imageio  # 使用sudo pip install imageio 安装
imageio.get_reader("your/video/director.xxx")

具体的使用可以参见:link


借这个机会,也尝试了一些python读入图片的方式,分别为:

  1. 使用opencv库:

    import cv2
    cv_im = cv2.imread("img/path.jpg")
  2. 使用PIL库中的Image模块:

    from PIL import Image
    pil_im = Image.open("img/path.jpg")
  3. 使用imageio模块:

    import imageio
    io_im = imageio.imread("img/path.jpg")

三者的读入的 im 的数据类型分别为:

<type 'numpy.ndarray'>
<type 'instance'>
<class 'imageio.core.util.Image'>

其中,io_im 可以直接使用 cv2.imshow() 函数显示,io_impil_im 都可以通过 np.array()( import numpy as np ) 函数转换成 numpy.adarray,但是有一点需要注意的是:

  • cv_im 颜色通道顺序是bgr,而 io_impil_im 是rgb,所以使用 cv2.imshow() 进行显示的时候,应该先统一颜色通道的顺序。

也就是说,无论用哪一种方式进行图片的读取,都可以使用 np.array() 进行转化,然后使用 cv2 的相关函数进行处理。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值