自学过程中顺便整理记录一下
简介
OpenCV的设计目标是提供一套简单而且可扩展的计算机视觉库,应用领域包括人机互动、图像识别、机器视觉、运动分析等。
在Python环境下,使用pip install opencv-python安装OpenCV库,使用import cv2进行调用。
基本函数
文件操作
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | img = cv2.imread('image.jpg')
 
 
 cv2.imshow('image',img)
 
 cv2.waitKey(delay)
 
 
 cv2.imwrite('image.jpg',img)
 
 | 
图像属性查看
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | 
 px = img[y, x]
 
 px = img[y, x, c]
 
 
 img[y, x] = [y_new, x_new]
 
 
 
 print(img.shape)
 
 print(img.size)
 
 print(img.dtype)
 
 
 roi = img[y1:y2, x1:x2]
 
 
 b,g,r = cv2.split(img)
 
 img = cv2.merge([b,g,r])
 
 | 
图像操作
基本编辑
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | resize_img = cv2.resize(img, (width, height))
 
 
 rotate_matrix = cv2.getRotationMatrix2D(center, angle, scale)
 
 rotate_img = cv2.warpAffine(img, rotate_matrix, (width, height))
 
 
 flip_img = cv2.flip(img, 1)
 
 | 
图像预处理
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | 
 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 
 
 
 ret, binary_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)
 
 
 
 gaussblur_img = cv2.GaussianBlur(img, (5, 5), 0)
 
 medianblur_img = cv2.medianBlur(img, 5)
 
 meanblur_img = cv2.blur(img, (5, 5))
 
 | 
图像识别检测
| 12
 3
 4
 5
 6
 7
 8
 
 | edge = cv2.Canny(img, threshold1, threshold2)
 
 
 line = cv2.HoughLines(edge, rho, theta, threshold)
 
 
 circ = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, dp, minDist, param1, param2, minR, maxR)
 
 |