opencv > pil
import cv2
from PIL import Image
img = cv2.imread("test.png")
image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
pil > opencv
import cv2
from PIL import Image
image = Image.open("test.png")
img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR)
補充:skimage與opencv圖片格式的相互轉換
skimage是python的一個圖像庫,常常與matplotlib一起作為視頻、圖像類的基本庫。而opencv作為非常流行的視覺庫,在圖像處理中使用非常常見,本篇介紹兩種庫的圖像格式的相互轉換。
skimage
圖像格式
通道:RGB
像素值:[0,1]
Opencv
圖像格式
通道:BGR
像素值:[0,255]
轉換
轉換過程現封裝如下:
def skimage2opencv(src):
src *= 255
src.astype(int)
cv2.cvtColor(src,cv2.COLOR_RGB2BGR)
return src
def opencv2skimage(src):
cv2.cvtColor(src,cv2.COLOR_BGR2RGB)
src.astype(float32)
src /= 255
return src
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python基于OpenCV模板匹配識別圖片中的數字
- Python OpenCV高斯金字塔與拉普拉斯金字塔的實現
- Python OpenCV 基于圖像邊緣提取的輪廓發(fā)現函數
- Python opencv操作深入詳解
- Python+Opencv實現數字識別的示例代碼
- OpenCV+Python幾何變換的實現示例
- python利用opencv實現顏色檢測
- python+opencv實現車道線檢測
- python opencv實現圖像配準與比較
- python OpenCV學習筆記