OpenCV自学笔记之简介及基本图片视频处理

/

软硬件环境

  • macOS High Sierra
  • opencv 3.3.1
  • anaconda3 & python 3.6.4

OpenCV简介

OpenCV(Open Source Computer Vision Library)是开源的计算机视觉和机器学习库,提供了C/C++、Python等接口,并支持Windows、Linux、Mac及Android等平台。

OpenCV的安装

使用anaconda来安装,anaconda的基本使用可以参考我的另一篇博文http://xugaoxiang.com/post/115

  1. conda install opencv

图片显示及保存

  1. import cv2
  2. image = cv2.imread('test.jpg', cv2.IMREAD_ANYCOLOR)
  3. # 开窗口显示
  4. cv2.imshow('show image', image)
  5. # 保存成文件
  6. cv2.imwrite('copy.jpg', image)
  7. # 接收键盘输入,相当于是一个loop循环
  8. cv2.waitKey(0)
  9. # 删除创建的所有窗口,删除特定窗口cv2.destroyWindow(winname=**)
  10. cv2.destroyAllWindows()

读取摄像头数据并实时显示

  1. import cv2
  2. cap = cv2.VideoCapture(0)
  3. while True:
  4. ret, frame = cap.read()
  5. gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  6. cv2.imshow('frame', gray)
  7. # 接收到q键,退出循环
  8. if cv2.waitKey(1) & 0xFF == ord('q'):
  9. break
  10. cap.release()
  11. cv2.destroyAllWindows()

IP Camera的RTSP视频播放

读取IP摄像头的数据跟读取本地摄像头类似

  1. import cv2
  2. cap = cv2.VideoCapture("rtsp://admin:123456@192.168.1.100:554/Streaming/Channels/101?transportmode=unicast")
  3. while True:
  4. ret, frame = cap.read()
  5. gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  6. cv2.imshow('frame', gray)
  7. # 接收到q键,退出循环
  8. if cv2.waitKey(1) & 0xFF == ord('q'):
  9. break
  10. cap.release()
  11. cv2.destroyAllWindows()

视频的存储

  1. import cv2
  2. if __name__ == '__main__':
  3. cap = cv2.VideoCapture(0)
  4. # 设置编码类型XVID, 如果有其它的解码器,可以设置,如'X264'、'DIVX'等,各个平台支持的也不尽相同,此处以windows为例
  5. fourcc = cv2.VideoWriter_fourcc(*'XVID')
  6. out = cv2.VideoWriter('test.avi', fourcc, 20.0, (640, 480))
  7. while(cap.isOpened()):
  8. ret, frame = cap.read()
  9. if ret == True:
  10. frame = cv2.flip(frame, 0)
  11. out.write(frame)
  12. cv2.imshow('frame', frame)
  13. if cv2.waitKey(1) & 0xFF == ord('q'):
  14. break
  15. else:
  16. break
  17. cap.release()
  18. out.release()
  19. cv2.destroyAllWindows()

参考资料

https://opencv.org/
https://www.anaconda.com/
https://github.com/cisco/openh264/releases

转载请注明作者和出处,并添加本页链接。
原文链接: http://xugaoxiang.com/post/119

给我留言