用我雯示意,图像的加载、读取、转换、热图。 OpenCV彩色转为灰度图、通道拆分(cv2.split)及合并(cv2.merge)

图像加载问题

使用pytorch制作图像数据集时,需要将存储在磁盘、硬盘的图像读取到内存中,涉及到图像I/O问题。

在python中,图像处理主要采用的库:skimage, opencv-python, Pillow (PIL)。 这三个库均提供了图像读取的方法。

三种主流图像处理库的比较:

函数/方法 返回值 图像像素格式 像素值范围 图像矩阵表示
skimage io.imread(xxx) numpy.ndarray RGB [0, 255] (H X W X C)
cv2 cv2.imread(xxx) numpy.ndarray BGR [0, 255] (H X W X C)
Pillow(PIL) Image.open(xxx) PIL.Image.Image对象 根据图像格式,一般为RGB [0, 255]

读取图像

一张测试图像,彩色,test_liuwen.jpg。(断网了,没安装skimage)

首先先从小数列形象地看一下array、tensor、bgr、rgb的分布。

    '''关于列表使用的知识:

'''OpenCV 的cv2.imread()导入图片时是BGR通道顺序,这与Matplotlib的显示,或者读取图片的通道不同,
如果需要可以转换为RGB模式,以下代码显示不同之处,但BGR在许多地方使用,caffe倒入数据是以BGR方式
i,j为正就是序号为j-1,i,j为负就是倒数第-j个
b = a[i:j:s]这,以步进s,从序号为i的到序号为j-1的,缺省为1. 所以a[i:j:1]相当于a[i:j] [1:3].
当s<0时,i缺省时,默认为-1。j缺省时,默认为-len(a)-1
所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍,即倒序,依次可以达到BGR通道转换为RGB通道。
'''
if __name__ == "__main__":
    # 先从小数列形象的看一下
    a = [0,1,2,3,4,5,6,7,8]
    print(a[1:6:2],a[:2],a[-1:3:-2],a[:3:],a[:3:-1],a[:-3:-1],a[2::1],a[::-1])#

    array_t1_bgr = np.array([
        [['b1','g1', 'r1'], ["b4", 'g4', 'r4'], ['b7', 'g7', 'r7']],
        [['b2','g2', 'r2'], ['b5', 'g4', 'r5'], ['b8', 'g8', 'r8']],
        [['b3','g3', 'r3'], ['b6', 'g6', 'r6'], ['b9', 'g9', 'r9']],])
    # 转化为 rgb
    array_t1_rgb = array_t1_bgr[:,:,::-1]
    # 1,2,3各自代表一个通道 看到通道是和输入的array通道是一致的
    tensor_t1 = torch.from_numpy(np.array([
        [[1, 2, 3], [1, 2, 3], [1, 2, 3]],
        [[1, 2, 3], [1, 2, 3], [1, 2, 3]],
        [[1, 2, 3], [1, 2, 3], [1, 2, 3]],]))
    array_t1_tensor = np.array([[[1, 2, 3], [1, 2, 3], [1, 2, 3]],
                                [[1, 2, 3], [1, 2, 3], [1, 2, 3]],
                                [[1, 2, 3], [1, 2, 3], [1, 2, 3]]])
    # print(t[:,:-
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值