1 图片channels_深度学习中各种图像库的图片读取方式

本文总结了Python中不同图像库处理深度学习数据的方法,包括Opencv、PIL、matplotlib.image、scipy.misc、skimage和Tensorflow。每个库的读取、转换和处理图像的方式有所不同,例如Opencv读取的图片是BGR格式,而其他多数库则是RGB。此外,文章还介绍了如何在深度学习中使用这些库进行数据预处理,例如在Caffe中的应用。
摘要由CSDN通过智能技术生成

深度学习中各种图像库的图片读取方式总结

在数据预处理过程中,经常需要写python代码搭建深度学习模型,不同的深度学习框架会有不同的读取数据方式(eg:Caffe的python接口默认BGR格式,Tensorflow默认RGB格式),经常需要借助python图像库来读取图像并进行一系列的图像处理工作。

这篇文章总结了Python图像库处理数据的基本方式:

1.Opencv

2.PIL(pillow)

3.matplotlib.image

4.scipy.misc

5.skimage

6.Tensorflow

opencv: cv2.imread

opencv是最常用的图像处理库

基本图像操作:

import cv2

import numpy as np

#读入图片:默认彩色图,cv2.IMREAD_GRAYSCALE灰度图,cv2.IMREAD_UNCHANGED包含alpha通道

img = cv2.imread('aa.jpg')

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 转换为灰度图

img1 = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) # 转换为RGB

cv2.imshow('src',img)

cv2.imshow('gray',gray)

cv2.imshow('RGB',img1)

print(img.shape) # (h,w,c)

print(img.size) # 像素总数目

print(img.dtype) # 像素类型

cv2.imwrite('test.jpg',img1) # 保存图像

cv2.waitKey()

值得注意的是:

1.opencv读进来的图片已经是一个numpy矩阵了,彩色图片维度是(高度,宽度,通道数)。数据类型是uint8。

2.opencv读进来的图片的通道排列是BGR,而不是主流的RGB

Caffe使用opencv处理图像的基本操作:

import os

import numpy as np

import cv2

import sys

caffe_root = './fancp/caffe/' #指定caffe路径

sys.path.insert(0, caffe_root + 'python')

import caffe

def predict(path, deploy, weight):

net = caffe.Net( deploy, weight, caffe.TEST)

batch_size, channels, height, width = net.blobs['data'].data.shape

X = np.zeros([1,channels,height,width], dtype = np.float32) # caffe的输入格式[N,C,H,W]

img = cv2.imread(path).astype(np.float32)# 读取图片,并进行类型转换

Img = cv2.resize(img,(102,102))[11:90,11:90,::-1]# Resize以及ROI操作

img -= 127.5

img /= 128.0 # 归一化操作

img = np.transpose(img,(2,0,1)) # 通道转换,有H,W,C转变成 C,H,W

#在深度学习搭建CNN时,往往要做相应的图像数据处理,比如图像要扩展维度,比如扩展成(batch_size,channels,height,width)。

img=np.expand_dims(img,axis=0)

X[0,:,:,:] = img

net.blobs['data'].

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值