3.opencv讀入圖片默認(rèn)為HWC
img_rgb.shape
(800, 600, 3)
可以將HWC轉(zhuǎn)變?yōu)镃HW:
img_rgb = img_rgb.transpose((2, 0, 1)) # hwc --> chw
4.opencv讀入圖片默認(rèn)為nd.array形式
cv2.imread()讀取圖片后以多維數(shù)組的形式保存圖片信息。
type(img_rgb)
numpy.ndarray
可以轉(zhuǎn)變?yōu)閠orch.tensor,.float()
表示轉(zhuǎn)變?yōu)閠orch.float32
img_chw_tensor = torch.from_numpy(img_rgb).float()
5.cv2.imread()
cv2.imread()有兩個(gè)參數(shù),第一個(gè)參數(shù)filename是圖片路徑,第二個(gè)參數(shù)flag表示圖片讀取模式,共有三種:
- cv2.IMREAD_COLOR:加載彩色圖片,這個(gè)是 默認(rèn)參數(shù) ,可以直接寫1。
- cv2.IMREAD_GRAYSCALE:以灰度模式加載圖片,可以直接寫0。
- cv2.IMREAD_UNCHANGED:包括alpha(包括透明度通道),可以直接寫-1。即 以不改變圖片的方式打開,圖片是彩色就是彩色,圖片是灰度圖像就是灰度圖像 。
通過cv2.IMREAD_COLOR讀入灰度圖,三通道數(shù)值相同。
mask = cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE) # 讀入灰度圖
mask1 = cv2.imread(mask_path, cv2.IMREAD_COLOR) # 讀入彩色圖
mask2 = cv2.imread(mask_path, cv2.IMREAD_UNCHANGED) # 讀入原始圖片
print(mask.shape) # (800, 600)
print(mask1.shape) # (800, 600, 3)
print(mask2.shape) # (800, 600)
第一幅圖為mask,第二幅圖為mask1,第三幅圖為mask2。
import numpy as np
np.set_printoptions(threshold=np.inf)
# np.unique(mask1[:,:,0] == mask1[:,:,1])
print((mask1[:,:,0] == mask1[:,:,1]).all()) # True
print((np.unique(mask1[:,:,2] == mask).all()))
True
True
6.opencv測(cè)試使用的圖片
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4345瀏覽量
62882 -
OpenCV
+關(guān)注
關(guān)注
31文章
635瀏覽量
41464 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5512瀏覽量
121415
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論