PIL.Image轉(zhuǎn)換成OpenCV格式:
import cv2
from PIL import Image
import numpy
path = '/home/gavin/Desktop/demo-card-1.jpeg'
img = Image.open(path).convert("RGB")#.convert("RGB")可不要腻贰,默認(rèn)打開就是RGB
img.show()
#轉(zhuǎn)opencv
#img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR)
img = cv2.cvtColor(np.array(img),cv2.COLOR_RGB2BGR)
cv2.imshow("OpenCV",img)
cv2.waitKey()
OpenCV轉(zhuǎn)換成PIL.Image格式:
import cv2
from PIL import Image
import numpy
img = cv2.imread("plane.jpg") # opencv打開的是BRG
cv2.imshow("OpenCV",img)
image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
image.show()
cv2.waitKey()
skimage.io.imread
io.imread讀出圖片格式是uint8(unsigned int)端幼;value是numpy array;圖像數(shù)據(jù)是以RGB的格式進(jìn)行存儲的存皂,通道值默認(rèn)范圍0-255醋虏。
cv2.imread
cv2.imread讀出的圖片格式是uint8;value是numpy array孟辑;圖像數(shù)據(jù)是以BGR的格式進(jìn)行存儲的山叮,注意是BGR计露,通道值默認(rèn)范圍0-255博脑,需要將存儲類型改成RGB的形式才能正常顯示原圖的顏色憎乙。
圖片通道改成RGB,具體代碼如下:
import cv2
import matplotlib.pyplot as plt
from skimage import transform
import numpy as np
import skimage.io as io
train_dir = 'C:\\Users\\Administrator\\代碼TRY\\1.jpg'
'''以cv2方式讀取圖片'''
image=cv2.imread(train_dir)
# 將圖像通道分離開叉趣。
b,g,r = cv2.split(image)
# 以RGB的形式重新組合泞边。
rgb_image = cv2.merge([r,g,b])
# 也可以使用這個函數(shù)直接轉(zhuǎn)換成RGB形式。
# image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(rgb_image)