1. 程式人生 > >python3隨筆-opencv讀取影象資料

python3隨筆-opencv讀取影象資料

如何安裝opencv-python

$pip3 install opencv-python

如何讀取影象資料

import numpy as np
import cv2 as cv
img = cv.imread('1.png')
print(img)
print(img.dtype)

[[[200 228 197]
[200 228 197]
[200 228 197]
...
...
[200 228 197]
[200 228 197]
[200 228 197]]]

dtype('uint8')

使用下面函式

Mat cv::imread  (   const String &  filename,
int     flags = IMREAD_COLOR 
)       
Python:
retval  =   cv.imread(  filename[, flags]   )

imread函式具體說明

可以通過其行和列座標訪問畫素值。對於BGR映像,它返回一個藍、綠、紅值陣列。對於灰度影象,只返回相應的強度。資料讀取方式為:
img[行號,列號,:]

函式根據內容而不是副檔名確定影象的型別。
在彩×××像的情況下,解碼後的影象將以B G R順序儲存通道。
當使用IMREAD_GRAYSCALE時,如果可用,將使用編×××的內部灰度轉換。結果可能與cvtColor()的輸出不同
在Microsoft Windows OS和MacOSX上,帶有OpenCV映像(libjpeg、libpng、libtiff和libjasper)的編×××預設使用。因此,OpenCV總是可以讀取jpeg、png和tiff。在MacOSX上,還有一個使用本地MacOSX影象閱讀器的選項。但是要注意的是,由於MacOSX中嵌入了顏色管理,當前這些本機影象載入器提供的影象畫素值不同。
在Linux、BSD版本和其他類unix的開源作業系統上,OpenCV尋找OS映像提供的編×××。安裝相關的包(不要忘記開發檔案,例如Debian

和Ubuntu*中的“libjpeg-dev”)以獲得編×××支援或在CMake中開啟OPENCV_BUILD_3RDPARTY_LIBS標誌。
在CMake中將WITH_GDAL標記設定為true和IMREAD_LOAD_GDAL來載入影象的情況下,將使用GDAL驅動程式來解碼影象,支援以下格式:光柵、向量。
如果EXIF資訊嵌入到影象檔案中,將考慮EXIF方向,因此影象將相應地旋轉,除非傳遞了IMREAD_IGNORE_ORIENTATION標記。

顯示影象

cv.imshow('img',img)