OpenCV-图像基本操作

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

猜你喜欢

转载自blog.csdn.net/s729193140/article/details/89093810
今日推荐