python OpenCV的环境搭建及其简单使用

Posted lwlv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python OpenCV的环境搭建及其简单使用相关的知识,希望对你有一定的参考价值。

python语言越来越火,感觉再不使用就要out了。以前用C++做过一些关于OpenCV的小项目,这次用python试试。

 

一、python-OpenCV环境搭建

现在再来搭建python和OpenCV的环境实在太方便了,各种封装很完备,各种资料也很容易查找到。 

一般来说有两种方式,

  • pycharm加本地安装的python环境用pip下载安装,在命令行窗口仅需输入pip install opencv-python即可。
  • anaconda,打开Anaconda Powershell Prompt, 在命令窗口输入conda install -c conda-forge opencv后下载安装。(详见https://anaconda.org/conda-forge/opencv

这个下载后好像还不够,还需加入conda install -c fastai opencv-python-headless (https://anaconda.org/fastai/opencv-python-headless)。

通过导入import cv2,如果能够打印出print(cv2.version.opencv_version)版本信息,则说明环境没问题了。

 

二、简单使用

这里想做个一个二维码跟踪和解码的实验。以前还得使用第三方库,现在opencv就已经封装好了,就是QRCodeDetector API。详细代码如下:

import cv2 as cv
import numpy as np


cap = cv.VideoCapture("D:/test.mp4")
qrcoder = cv.QRCodeDetector()
while True:
    ret, frame = cap.read()
    if ret:
        codeinfo, bbox, straight_qrcode = qrcoder.detectAndDecode(frame)
        if bbox is not None:
            pointOne = tuple(bbox[0][0])
            cv.drawContours(frame, [np.int32(bbox)], 0, (0, 0, 255), 2)
            cv.putText(frame, codeinfo, (np.int32(pointOne[0]), np.int32(pointOne[1])), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
        cv.imshow("frame", frame)
    else:
        break
    key = cv.waitKey(25)
    if key == 27:
        break
cap.release()
cv.destroyAllWindows()

这里是读取一个视频文件(通过摄像头也是一样的),当有二维码出现时,则detectAndDecode可以提取到二维码的顶点信息,然后代码中会将二维码的轮廓和解析后的内容显示在图像上。

关于二维码的制作,网上也有很多小工具,这里就不再阐述了。

最后运行效果如下:

 

Enjoy!

 

 

 

以上是关于python OpenCV的环境搭建及其简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Python3与OpenCV3.3 图像处理--环境搭建与简单DEMO

Python环境搭建之OpenCV

python+opencv 运行环境搭建

基于Anaconda 搭建 OpenCV for Python 环境(全平台通用)

opencv简介以及环境搭建

基于pycharm环境下opencv的搭建