您的位置:首页 > 运维架构

opencv常用函数

2015-10-11 16:07 357 查看

1、摄像头拍照

capture = cv2.VideoCapture(0)
ret, image = capture.read()
capture.release()
cv2.imwrite("photo.jpg", image)


2、读取、显示图片

image = cv2.imread("image.jpg", cv2.IMREAD_COLOR)
cv2.imshow("Display", image)
k=cv2.waitKey(0)


3、图片预处理

src = cv2.blur(src, (5, 5))
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.stack(arrays, 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: