图片处理 python

1. 图片分辨率表示  Width * Height

2. cv2读入图片及缩放方式

    读入图片存储类型: numpy array -->  Height * Width * Channel

    import cv2 as cv

    # 读入原图片
    img = cv.imread('./0000001-imgL.png')
    # 打印出图片尺寸
    print(img.shape)
    # 将图片高和宽分别赋值给x,y
    x, y = img.shape[0:2]

    # 显示原图
    cv.imshow('OriginalPicture', img)

    # 缩放图片,输出尺寸格式为(宽,高),    最近邻插值法缩放
    img_test1 = cv.resize(img, (512,384),interpolation=cv.INTER_NEAREST)
    cv.imshow('resize0', img_test1)
    cv.waitKey()

3. PIL读入图片及缩放方式

    读入图片存储类型: ImageFile --> Width * Height

    from PIL import Image

    img = Image.open('./0000001-imgL.png')

    #输出尺寸格式为(宽,高)
    img = img.resize((512, 384), Image.ANTIALIAS)

4. 转换

首先注意,不同读取方式颜色通道不同

PIL读取后,颜色通道为RGB

cv2读取后,颜色通道为BGR

1)PIL --> cv2

    from PIL import Image
    import cv2 as cv
    img = Image.open('./0000001-imgL.png')
    # 转变为数组,RGB
    img = np.array(img)
    # 交换通道,BGR
    img1 = img.copy()  # 改变img1的时候不改变img
    img1[:, :, 0] = img[:, :, 2]
    img1[:, :, 1] = img[:, :, 1]
    img1[:, :, 2] = img[:, :, 0]

    cv.imshow('before', img)
    cv.imshow('after', img1)
    cv.waitKey()

呈现结果对比

2)cv2 -->PIL

    img = cv.imread('./0000001-imgL.png')
    img = cv.cvtColor(img, cv.COLOR_BGR2RGB)
    img = Image.fromarray(img.astype('uint8')).convert('RGB')
    import matplotlib.pyplot as plt
    plt.imshow(img)
    plt.show()

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值