opencv讀入、顯示、保存圖像

  • 目標

  1. 使用opencv讀入、顯示、保存圖像。示例代碼是加載一張原圖,顯示圖片,鍵盤按下“s”則保存圖片,按下其他鍵則銷毀圖像顯示窗口。
  2. 學會三個函數的使用:
    cv2.imread、cv2.imshowcv2.imwrite。
  • 示例代碼

python
# -*- coding:utf-8 -*-
import numpy as np
import cv2
img = cv2.imread('D:/img/test/000.jpg',  cv2.IMREAD_UNCHANGED)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image', img)
key = cv2.waitKey(0)
if key == ord('s'):    
    cv2.imwrite('D:/img/test/0005.jpg', img)
else:    
    cv2.destroyWindow('image')
  • 讀入圖像

  1. img = cv2.imread('D:/img/test/000.jpg') 打開原圖。
  2. img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_GRAYSCALE) 以灰度模式讀入圖像。
  3. img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_COLOR) 讀入彩色圖像,圖像的透明度會忽略。
  4. img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_UNCHANGED) 讀入原圖。
  • 讀入圖像的返回值

  1. print type(img)結果為<type 'numpy.ndarray'>,可見是個多維數組。
  2. opencv不會提示你圖片的路徑是否錯誤,若print img結果為None,則表明圖像路徑是錯的。若結果是一個矩陣數組,則表明路徑正確。
  • 顯示圖像

  1. cv2.imshow('image', img) 在窗口顯示圖像,圖像的名字是image,img參數是我要顯示的圖像,可以同時打開多個圖像顯示窗口,但他們的名字必須是不同的。
    這個時候的圖像大小默認是原始圖像的大小,若想窗口大小可調節,使用cv2.namedWindow()即可。
  2. cv2.namedWindow('image', cv2.WINDOW_NORMAL) image窗口的大小可以調節。
  3. cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE) 默認的窗口大小,若第二個參數不填寫,默認的就是圖像大小且不可調節。
  4. 鍵盤綁定函數,cv2.waitKey(0),設置參數是0,表示無限期等待鍵盤輸入,若為其他值,表示在該值得毫秒時間內等待鍵盤輸入,若沒有輸入,則返回-1,若有輸入,則返回輸入鍵的ASCII值。
  • 保存圖像

  1. cv2.imwrite('D:/img/test/0002.jpg', img)第一個參數是保存的圖像的路徑,第二個參數是要保存的圖像。
  • 刪除已建立的窗口

  1. cv2.destroyAllWindows()銷毀所有窗口。
  2. cv2.destroyWindow('image')銷毀特定窗口,參數是你要銷毀的窗口名稱。
  • 其他

ord()chr()函數:
ord()函數的參數是一個ASCII字符,返回值是對應的十進制整數,也就是ASCII的值。
chr()函數的參數是0 - 256 的一個整數,返回值是當前整數對應的ASCII字符。

網上找到的opencv中文文檔,此文是根據學習文檔過程中做的筆記,只做個人學習之用,也可為其他學習者作參考。愛分享的人都是好孩子!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容