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((a1a2...)axis=0)

numpy.stack(arraysaxis=0)

numpy.hstack(tup)

numpy.vstack(tup)

numpy.dstack(tup)

img = np.hstack((img1,img2))

img = np.vstack((img1,img2))

12、拆分图片

利用numpy函数

numpy.split(aryindices_or_sectionsaxis=0)

numpy.array_split(aryindices_or_sectionsaxis=0)

numpy.hsplit(aryindices_or_sections)

numpy.vsplit(aryindices_or_sections)

numpy.dsplit(aryindices_or_sections)

原文地址:https://www.cnblogs.com/lulu147/p/4869453.html