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()