import cv2 img = cv2.imread("01.jpg") imgGrey = cv2.imread("01.jpg",0) cv2.imshow("img",img) cv2.imshow("imgGrey",imgGrey) cv2.waitKey() cv2.imwrite("Copy.jpg",img)
cv2.namedWindow(窗口名,屬性) 建立一個窗口python
屬性—指定窗口大小模式: ide
cv2.WINDOW_AUTOSIZE:根據圖像大小自動建立大小
import cv2 img = cv2.imread("01.jpg") cv2.namedWindow("img",cv2.WINDOW_NORMAL) cv2.imshow("img",img) cv2.waitKey() cv2.destroyAllWindows()
img.shape 返回圖像高(圖像矩陣的行數)、寬(圖像矩陣的列數)和通道數3個屬性組成的元組,若圖像是非彩色圖,則只返回高和寬組成的元組。函數
import cv2 img = cv2.imread("01.jpg") imgGrey = cv2.imread("01.jpg",0) sp1 = img.shape sp2 = imgGrey.shape print sp1 print sp2
圖像矩陣img的size屬性和dtype分別對應圖像的像素總數目和圖像數據類型。通常狀況下,圖像的數據類型是uint8。字體
import cv2 img = cv2.imread("01.jpg") imgSize = img.size print imgSize ty = img.dtype print ty
import cv2 import numpy as np img = cv2.imread("01.jpg") imgZero = np.zeros(img.shape,np.uint8) imgFix = np.zeros((300,500,3),np.uint8) # imgFix = np.zeros((300,500),np.uint8) cv2.imshow("img",img) cv2.imshow("imgZero",imgZero) cv2.imshow("imgFix",imgFix) cv2.waitKey()
OpenCV中圖像矩陣的順序是B、G、R。能夠直接經過座標位置訪問和操做圖像像素。ui
import cv2 img = cv2.imread("01.jpg") numb = img[50,100] print numb img[50,100] = (0,0,255) cv2.imshow("img",img) cv2.waitKey()
分開訪問圖像某一通道像素值也炒雞方便:spa
import cv2 img = cv2.imread("01.jpg") img[0:100,100:200,0] = 255 img[100:200,200:300,1] = 255 img[200:300,300:400,2] = 255 cv2.imshow("img",img) cv2.waitKey()
Python中,更改圖像某一矩形區域的像素值也很方便:code
import cv2 img = cv2.imread("01.jpg") img[0:50,1:100] = (0,0,255) cv2.imshow("img",img) cv2.waitKey()
分離圖像通道可使用cv2中的split函數,合併使用merge函數。圖片
import cv2 img = cv2.imread("01.jpg") b , g , r = cv2.split(img) # b = cv2.split(img)[0] # g = cv2.split(img)[1] # r = cv2.split(img)[2] merged = cv2.merge([b,g,r]) cv2.imshow("Blue",b) cv2.imshow("Green",g) cv2.imshow("Red",r) cv2.imshow("Merged",merged) cv2.waitKey()
import cv2 img = cv2.imread("01.jpg") cv2.putText(img,"Print some text to img",(100,100),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255)) cv2.imshow("img",img) cv2.waitKey()
縮放使用cv2.resize()函數,resize函數裏的size第一個是寬(列),第二個是高(行)。原型
import cv2 img = cv2.imread("01.jpg") cv2.imshow("img",img) imgg = cv2.resize(img,(300,100)) cv2.imshow("imgg",imgg) cv2.waitKey()