PYTHON_opencv 歷程總覽 - updating

OpenCV 是一個在影像與圖像處理上非常實用且方便的一個工具,其龐大程度已經可以算是一個平臺,支援了各式各樣的編程語言,當然 Python 也是包含其中的“之一”,這個包集成了許多當下流行的圖像處理算法,成爲了他們呼叫函數的其中一個部分,不用我們用戶單獨的去設置函數細節,是個非常暖心的包。

使用了這個模塊做圖像處理一段時間了,總是隻有看到最後的結果與呼叫的函數對應功能,漸漸的這些處理過程被埋在了 opencv 處理的背後,爲了徹底親身經歷一遍圖像處理的過程,我 ps 了一張高 4 pixels,寬 3 pixels 的圖片(如下面圖片旁邊的那一“點”),由於原圖太小了,在其“點”的左邊放大顯示像素的樣貌:

              

當使用了 cv2.imread('path', 1) 把圖片讀入 opencv 裏面之後,代碼與結果如下:

>>> import cv2
>>> path = '/home/abc/Desktop/opencv_example.png'
>>> img = cv2.imread(path, 1)
>>> img
array([[[ 40, 180, 200],
        [255, 255, 255],
        [250, 180, 100]],

       [[150,  50,  70],
        [200, 120,  80],
        [140,  40, 200]],

       [[140, 200, 200],
        [  0,   0,   0],
        [ 30, 200, 250]],
        
       [[ 90, 160, 220],
        [  0,  40, 200],
        [ 20, 220,  80]]], dtype=uint8)

>>> img.shape
(4, 3, 3)

>>> type(img)
<class 'numpy.ndarray'>

>>> img.size
36

>>> img.dtype
dtype('uint8')
縮小圖片之後導入 opencv 裏面的結果簡直是一目瞭然了!原來在 array 裏面的樣子就是把圖片翻了一個角度側着看的,而從圖裏面對應到的顏色看來,也就可以知道 opencv 在排部圖像顏色順序上採用的是 BGR 的方法(跟 matplotlib 這個包在操控圖片是偶的順序 RGB 是不同的,需要被轉換)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章