1.导入:import cv2
2.读入:cv2.imread('1.jpg') //cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE )
cv2.IMREAD_COLOR : 默认使用该种标识。加载一张彩色图片,忽视它的透明度。
cv2.IMREAD_GRAYSCALE : 加载一张灰度图。
cv2.IMREAD_UNCHANGED : 加载图像,包括它的Alpha通道(该通道用256级灰度来记录图像中的透明度信息)。
3.保存:cv2.imwrite('1.png',img) //输出BGR或灰度图
4.图像通道数目:l,w,h=img.shape //长,宽,通道数
5.颜色空间转换:img_hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) //cv2.COLOR_GRAY2BGR
6.访问像素值:左上角像素img[0,0,0],或img[0,0],或img[:,10]第10列像素 //img[x坐标,y坐标,颜色通道]
7.图像转为浮点型:img = np.float64(img)
8.卷积:
from scipy import ndimage
kernel=np.array([[-1,-1,-1],[-1,8,-1],[-1,-1,-1]])
imgk=ndimage.convolve(img,kernel)
imgk=cv2.fliter2D(img,-1,kernel)
9.缩放:img=cv2.resize(img,(200,200)) //(int,int)缩放之后的图像大小 \
cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)
10.gamma变换:
gamma_change=np.round(np.array([np.power(x/255,0.4)*255 for x in range(256)])).astype(np.uint8)
print (gamma_change)
imgg=cv2.LUT(img,gamma_change)
11.仿射变换:
H = np.float32([[1,0,b],[0,1,b]]) //平移矩阵,向右或向下平移b个单位
M = cv2.getRotationMatrix2D((cols/2,rows/2),90,1) //旋转矩阵,以图片中心,逆时针旋转90,缩放比为1
res = cv2.warpAffine(img,M,(rows,cols)) //生成M矩阵的仿射结果,图大小为rows,cols