1. 程式人生 > >Python-OpenCV 影象基本操作

Python-OpenCV 影象基本操作

一、圖片 讀、寫、顯示、屬性檢視

import numpy as np
import cv2

-----------------------------直接讀取--------------------------------
img = cv2.imread('001.jpg',0)   #讀取影象(直接讀取)
cv2.imshow('image',img)         #顯示影象
k = cv2.waitKey(0)
if k == 27:                     # 按 Esc 退出(關閉顯示視窗)
    cv2.destroyAllWindows()
elif k == ord
('s'): # 按 's' 儲存並退出 (關閉顯示視窗) cv2.imwrite('002.png',img) cv2.destroyAllWindows() -----------------------------以灰度圖的形式讀取-------------------------------- grayImage = cv2.imread('003.png', cv2.CV_LOAD_IMAGE_GRAYSCALE) """ 也可選引數: CV_LOAD_IMAGE_COLOR (BGR), CV_LOAD_IMAGE_GRAYSCALE (grayscale), CV_LOAD_IMAGE_UNCHANGED(neither) """
cv2.imwrite('004.png', grayImage) -----------------------------圖片的屬性-------------------------------- print ("圖片形狀:",img.shape)(長、寬、通道數) print ("圖片大小:",img.size) print ("圖片型別:",img.dtype) """ 輸出: 圖片形狀: (640, 640, 3) 圖片大小: 1228800 圖片型別: uint8 """

二、影象增強(縮放、平移、旋轉)


import cv2
import numpy as np
img = cv2.
imread('messi5.jpg') res = cv2.resize(img,None,fx=2, fy=2, interpolation = cv2.INTER_CUBIC) #OR height, width = img.shape[:2] res = cv2.resize(img,(2*width, 2*height), interpolation = cv2.INTER_CUBIC) -----------------------------影象平移-------------------------------- img = cv2.imread('messi5.jpg',0) rows,cols = img.shape M = np.float32([[1,0,100],[0,1,50]]) dst = cv2.warpAffine(img,M,(cols,rows)) cv2.imshow('img',dst) #展示圖片並退出 cv2.waitKey(0) cv2.destroyAllWindows() -----------------------------影象旋轉-------------------------------- img = cv2.imread('messi5.jpg',0) rows,cols = img.shape M = cv2.getRotationMatrix2D((cols/2,rows/2),90,1) dst = cv2.warpAffine(img,M,(cols,rows))