1. 程式人生 > >OpenCV 基本的圖片讀取與編輯

OpenCV 基本的圖片讀取與編輯

1、基本的圖片儲存格式

在計算機中圖片是以矩陣的形式儲存在儲存介質中的。

    import numpy as np

    import cv2

    img=np.mat(np.zeros((300,300)),dtype=np.uint8)

    img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

    print(img)

    cv2.imshow("test",img)

    cv2.waitKey(0)

 

2、影象的讀取與儲存

imread和imwrite方法分別是OpenCV的讀方法和寫方法

 

(1)影象的讀取:

import numpy as np

import cv2

 

image=cv2.imread("C:/Users/Mr.Ma/Desktop/1.jpg",cv2.IMREAD_GRAYSCALE)

cv2.imshow("test",image)

cv2.waitKey(0)

print(image)

 

(2)影象的寫入

cv2.imwrite("writeimg.jpg",image)

將所讀取的圖片儲存在當前目錄下,這裡傳遞了兩個引數,第一個表示為圖片的儲存名稱,並在儲存的時候,圖片的型別發生改變,由jpg格式改變為png型別儲存,而第二個引數為記憶體中所要儲存的目標

 

注意:在讀取的同時,圖片被自動讀取為灰度圖

3、影象的轉換

在計算機中儲存的時候,任何一個圖片的儲存都佔有一定的空間,而為了減少圖片的儲存便於在有限的記憶體中更進一步地轉換,對於每一個圖片來說,可以通過Python自帶地方法,將其轉化為標準地一維 Python bytearray 格式。

使用方法:

    imageByteArray=bytearray(image)

同樣,bytearray 可以通過矩陣重構的方法還原為原本的圖片矩陣,

imageBGR=np.array(imageByteArray).reshape(640,480)

 

4、使用Numpy模組對影象進行編輯

(1)通過對陣列的操作修改圖片的顏色

import numpy as np

import cv2

img=np.zeros((300,300))

img[200,150]=255

cv2.imshow("test",img)

cv2.waitKey(0)

(2)對生成的圖片進行操作,畫出橫豎兩條白線

import numpy as np

import cv2

img=np.zeros((300,300))

img[:,10]=255

img[10,:]=255

cv2.imshow("test",img)

cv2.waitKey(0)