Python:一张图像在网络中会遇到什么?

在图像处理中,一张图像的旅行是怎么进行的呢?(本故事依据真实代码改编)

1.图像的来源:input_path,到图像家把图像喊出来。通常找OPENCV、PIL去喊比较有成效:

  • OPENCV: 直接返回numpy.ndarray(),其通道为BGR,HWC,0~255取值
img=cv2.imread() #直接返回numpy.ndarray(),其通道为BGR,HWC,0~255取值
img=cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #BGR转RGB
  • PIL图像: 直接返回numpy.ndarray(),其通道为RGB(后续)

2.图像的归一化:img/255.0 img/27.5-1,便于后续处理

img=img/255.0   #图像归一化,范围[ 0,1]
img=img/127.5-1 #图像归一化,范围[-1,1]

3.图像的变形:图像好不容易来到网络家,发现进不了网络家的门哇!Resize来帮忙!利用scale、interpolation对图像进行缩放。

4.图像的标准化:welcome,图像来到网络家,那么得遵守网络家得规范哇,先把自己标准化一下,标准化就可以:以不变应万变啦。标准化的数值都很固定啦~

normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])

5.图像的表示:标准化的图像,发现网络家的一系列操作都是对长宽要求多,把通道放前面,大家通道都一样为3啦~这里请来了transpose进行置换!

6.图像的加工:网络家的修理师傅,都是来自pytorch家族,需要进行numpy的array与torch的tensor互相转换,第一次加工,当然就是numpy的array到pytorch的torch~

sample = torch.from_numpy(img_input).to(device).unsqueeze(0)
torch.from_numpy() #numpy中的ndarray转化成pytorch中的tensor
numpy()            #pytorch中的tensor转化成numpy中的ndarray

7.图像的输出:加工完的图像,变化大不一样,但是他要是回得了家,还是得恢复原来的摸样呀!至少尺寸不能短斤少两把~那么就得保护好处理后的图像,同时还原图像的尺寸。

一趟旅行就结束啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MengYa_DreamZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值