opencv常用函数
1、摄像头拍照
1 capture = cv2.VideoCapture(0) 2 ret, image = capture.read() 3 capture.release() 4 cv2.imwrite("photo.jpg", image)
2、读取、显示图片
1 image = cv2.imread("image.jpg", cv2.IMREAD_COLOR) 2 cv2.imshow("Display", image) 3 k=cv2.waitKey(0)
3、图片预处理
1 src = cv2.blur(src, (5, 5)) 2 src = cv2.medianBlur(src, 5)
4、窗口
cv.NamedWindow("W1",cv.CV_WINDOW_NORMAL) cv.ResizeWindow("W1", 600, 600) cv2.destroyWindow("W1") cv2.destroyAllWindow("W1")
5、截取图片的一部分
img2 = img[800:1300, 1500:2000]
6、img(numpy)常用属性
src.ndim 数组的维数(即数组轴的个数),等于秩。如:3
src.shape 数组的维度。如:(4208, 2368, 3)
src.size 数组元素的总个数。如:29893632
src.dtype 数组中元素类型的对象。如:uint8
src.itemsize 数组中每个元素的字节大小。如:1
7、转换为色差图(L、a、b)
img = cv2.cvtColor(src, cv2.cv.CV_RGB2Lab)
8、尺寸变化
res=cv2.resize(image,(32,32),interpolation=cv2.INTER_CUBIC)
CV_INTER_NN - 最近邻插值,
CV_INTER_LINEAR - 双线性插值 (缺省使用)
CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..
CV_INTER_CUBIC - 立方插值.
9、建新空图片
img = np.zeros((2048,2560,3), np.uint8)
10、深层拷贝图片
imgRoi = copy.deepcopy(imgRoi)
11、图片合并
利用numpy函数
numpy.concatenate((a1, a2, ...), axis=0)
numpy.hstack(tup)
numpy.vstack(tup)
numpy.dstack(tup)
img = np.hstack((img1,img2))
img = np.vstack((img1,img2))
12、拆分图片
利用numpy函数
numpy.split(ary, indices_or_sections, axis=0)
numpy.array_split(ary, indices_or_sections, axis=0)
numpy.hsplit(ary, indices_or_sections)
numpy.vsplit(ary, indices_or_sections)
numpy.dsplit(ary, indices_or_sections)