OpenCV的简单学习(二)显示摄像头的帧

今天先给大家介绍一个简单的OpenCV的操作,将一幅图像的一部分覆盖在另一部分上,比如说你可以把一个狗头放到你的照片里的头上,上代码:
import cv2
import numpy as np

img=cv2.imread('test.jpg')
area=img[0:200,0:200]  //将该区域与变量绑定
img[300:500,300:500]=area //将绑定的区域覆盖在新区域上
cv2.imshow('my image',img)
cv2.waitKey()
cv2.destroyWindow()
这样就达到你的目的了,因为目前还没有掌握好位置与坐标的关系,所以就不上图了哈哈。
下面讲OpenCV如何实时显示摄像头的帧。
# -*- coding: utf-8 -*-
import cv2
clicked=False
def onMouse(event,x,y,flags,param):
    global clicked  //此语句可修改全局变量clicked
    if event == cv2.EVENT_LBUTTONUP:
        clicked=True  //用户鼠标点击鼠标左键后退出

cameraCapture=cv2.VideoCapture(0)
cv2.namedWindow('MyWindow')  //创建一个窗口并命名
cv2.setMouseCallback('MyWindow',onMouse)  //鼠标回调函数,指定鼠标操作信息并回调。
print 'showing camera feed, click Window or press any key to stop.'
success,frame=cameraCapture.read()
while success and cv2.waitKey(1) == -1 and not clicked:
    cv2.imshow('MyWindow',frame)
    success,frame=cameraCapture.read()  //循环获取每帧数据

cv2.destroyWindow('MyWindow')  //养成销毁窗口的习惯
cameraCapture.release()  //释放内存空间
我是利用的笔记本的摄像头,你也可以安装其它网络摄像头进行操作,OpenCV中应该有其它函数可以获取当前摄像头的编号,等用到的时候再查把。

欢迎多多交流!



你可能感兴趣的:(OpenCV)