opencv讀取圖片通道以及顯示
攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第2天,點擊查看活動詳情 使用cv2讀取的圖像的通道到是BGR通道,所以測試模型之前需要做BGR轉RGB的操作。
cpp
img=cv2.imread('515.jpg')
cv2.imshow("aa",img)
cv2.waitKey(-1)
顯示結果:
顯示結果是正常的。如果轉為RGB後?
```cpp import matplotlib.pyplot as plt import cv2
img=cv2.imread('515.jpg') img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.imshow("aa",img_rgb) cv2.waitKey(-1) ``` 然後卻變成BGR了!為什麼呢?難道cv2讀取的通達不是BGR嗎? 我再換一種方式,使用matplotlib.pyplot顯示圖片。 代碼:
python
img=cv2.imread('515.jpg')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
fig, axes = plt.subplots(1, 2, figsize=(15, 15))
axes[0].imshow(img)
axes[1].imshow(img_rgb)
plt.show()
輸出結果:
結論:
cv2.imread( ) 所讀取的圖像格式:每個像素為[B,G,R]的形式 cv2.imshow( ) 顯示圖像:按圖像中每個像素為[B,G,R]的規則將圖像顯示出來 所以使用cv2.imshow( )顯示圖像,我看到的是正常的圖片。 如果換成matplotlib顯示圖像? mpimg.imread( ) 所讀取的圖像格式:每個像素為[R,G,B]的形式 plt.imshow( ) 顯示圖像:按圖像中每個像素為[R,G,B]的規則將圖像顯示出來 這時候圖像就是偏藍色的。 這也就是OpenCV讀取的圖片使用的時候,為啥要做BGR2RGB的轉換。
在已知的圖片庫中,只有OpenCV讀取和顯示圖片使用BGR通道。其他的都是RGB,why?
- YoloV5實戰:手把手教物體檢測——YoloV5
- 基於阿里Semantatic Human Matting算法,實現精細化人物摳圖
- PPv3-OCR自定義數據從訓練到部署
- 如何下載pytorch的歷史版本?
- WinForm——Button總結
- WinForm——MDI窗體
- 升級 pip
- 將8位的tif圖片改為png圖片
- RepLKNet實戰:使用RepLKNet實現對植物幼苗的分類(非官方)(二)
- 關於OpenCV imread和imdecode讀取圖片是BGR的證明
- opencv讀取圖片通道以及顯示
- 萬字整理聯邦學習系統架構設計參考
- 編譯器堆空間不足
- 【圖像分類】實戰——使用EfficientNetV2實現圖像分類(Pytorch)
- MMDetection實戰:MMDetection訓練與測試
- UNet語義分割實戰:使用UNet實現對人物的摳圖
- MobileVIT實戰:使用MobileVIT實現圖像分類
- SwinIR實戰:如何使用SwinIR和預訓練模型實現圖片的超分
- 【圖像分類】手撕ResNet——復現ResNet(Pytorch)
- Deeplab實戰:使用deeplabv3實現對人物的摳圖