1 前言
今天在做Detectron2的测试的时候,差点又被OpenCV给弄糊涂了;
首先,一个需要明确的是:
- Opencv的颜色通道顺序为[B,G,R]
- PIL的颜色通道顺序为[R,G,B];
所以想着写笔记来记录一下~
2 常见图像格式
无损压缩和有损压缩
无损压缩:.png
有损压缩:.jpeg
3 常见的图像处理库
- CV-CUDA
- OpenCV
4 使用OpenCV显示图像
import cv2 as cv
img = cv.imread("2.jpg")
cv.imshow("2", img)
cv.waitKey(0)
cv.destroyAllWindows()
4 类型转换
OpenCV to PIL
其中OpenCV读取图像文件后的存储格式就是np.array;
import cv2
# ———— 用PLT显示图片 ————
img=cv2.imread('1.jpg') #打开图像,opencv默认读取图片的数据为: (高,宽,通道(B,G,R))。
img = img[:,:, (2, 1, 0)] # 改变图像通道顺序为:RGB
# PLT默认读取图片数据格式:(高,宽,通道(R,G,B))。
img2=img[: , : , : : -1]
# 将通道的维度顺序取反
PIL to OpenCV
def to_cvimage(self,img_pil):
return cv2.cvtColor(np.asarray(img_pil), cv2.COLOR_RGB2BGR)