OpenCV之基礎圖片讀取,寫入等函數使用(Python實現)

最近實習的公司leader叫我看看OpenCV,所以自己找些資料學學,然後記個筆記。

首先是導入庫函數

import numpy as np

然後最基本的就是讀取

src = cv.imread("E:/OpenCv/photo.jpg", 1) 
imread()的第二個參數爲代表讀取模式,爲0代表以灰度模式讀入圖像,爲1代表讀入彩色圖像

例如:
然後我們在顯示出來。
代碼

cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
cv.waitKey(0)
cv.destoryAllWindows()

我們以不同的模式讀取圖片,有兩種不同的結果。
在這裏插入圖片描述
我們讀取的這個src,是用numpy存儲的,我們來讀取每個像素點。

def get_photo(src):
    print(src.shape)
    width = src.shape[0]
    height = src.shape[1]
    channel = src.shape[2]
    print("width: %s,height %s, height:%s" % (width, height, channel))
    for i in range(width):
        for j in range(height):
            for k in range(channel):
                src[i, j, k] = 255 - src[i, j, k]

然後我們繼續顯示:
在這裏插入圖片描述
接下來就是圖片的寫入。

cv.imwrite("E:/OpenCv/1.jpg", src)

就是當我們按下S鍵的時候,保存圖片到目錄,然後退出,按下ESC鍵的時候,直接退出。
代碼

 k = cv.waitKey(0)
    if k == 27:
        cv.destroyAllWindows() # wait ESC key to exit
    elif k == ord('s'):
        cv.imwrite("E:/OpenCv/1.jpg", src)
        cv.destoryAllWindows()

還有我們進行通道分離。因爲有三通道,BGR。

b, g, r = cv.split(src)  # 通道分離
cv.imshow("blue", b)
cv.imshow("green", g)
cv.imshow("red", r)
src1 = cv.merge([b, g, r])  #對通道進行合併

參考資料:

Opencv-Python中文教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章