如何用Python实现OpenCV的入门级操作?

2026-06-09 15:191阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计970个文字,预计阅读时间需要4分钟。

如何用Python实现OpenCV的入门级操作?

使用OpenCV入门:首先访问pypi.org/project/opencv-python,完成下载后,在Anaconda Prompt中使用pip install命令,完整路径文件名安装:pip install opencv-python==3.4.3.18-cp37-cp37m-win_amd64。

opencv入门

安装

在​​pypi.org/project/ope…​​

完成下载后,在Anaconda Prompt内使用pip install完整路径文件名完成安装。

pip install D:\anaconda\Lib\opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl

基本使用

读取图像

img = cv2.imread( filename[, flags] )

img是返回值,其值是读取到的图像。

如果未读取到图像,则返回“None”。

如何用Python实现OpenCV的入门级操作?

  • filename表示要读取的图像的完整文件名。
  • flags是读取标记。该标记用来控制读取文件的类型

函数cv2.imread()能够读取多种不同类型的图像

显示图像

  • namedWindow函数
    用来创建指定名称的窗口,其语法格式为:
  • None = cv2.namedWindow( winname )
  • imshow函数
    函数cv2.imshow()用来显示图像,其语法格式为:
  • None = cv2.imshow( winname, mat)
    • winname是窗口名称。
    • mat是要显示的图像。


    也可以不创建窗口,直接使用函数cv2.imshow()引用一个并不存在的窗口,并在其中显示指定图像,这样函数cv2.imshow()实际上会完成如下两步操作。

    第1步:函数cv2.imshow()创建一个指定名称的新窗口。

    第2步:函数cv2.imshow()将图像显示在刚创建的窗口内。

    cv2.imshow("不存在的窗口名", 要显示的图像)

    import cv2
    lena=cv2.imread("lena.bmp")
    cv2.imshow("demo", lena )
  • waitKey函数
    函数cv2.waitKey()用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值。
  • retval = cv2.waitKey( [delay] )
    • retval表示返回值。如果没有按键被按下,则返回-1;如果有按键被按下,则返回该按键的ASCII码。
    • delay表示等待键盘触发的时间,单位是ms。当该值是负数或者零时,表示无限等待。该值默认为0。


    Python提供了函数ord(),用来获取字符的ASCII码值。


  • destroyWindow函数
    函数cv2.destroyWindow()用来释放(销毁)指定窗口,其语法格式为:
  • None = cv2.destroyWindow( winname )

    在实际使用中,该函数通常与函数cv2.waitKey()组合实现窗口的释放。

  • destroyAllWindows函数
    函数cv2.destroyAllWindows()用来释放(销毁)所有窗口,其语法格式为:
  • None = cv2.destroyAllWindows( )

    保存图像

    OpenCV提供了函数cv2.imwrite(),用来保存图像,该函数的语法格式为:

    retval = cv2.imwrite( filename, img[, params] )
    • retval是返回值。如果保存成功,则返回逻辑值真(True);如果保存不成功,则返回逻辑值假(False)。
    • filename是要保存的目标文件的完整路径名,包含文件扩展名。
    • img是被保存的图像。
    • params是保存类型参数,是可选的。

    OpenCV贡献库

    OpenCV贡献库:该扩展库的名称为opencv_contrib

    OpenCV贡献库中包含了非常多的扩展模块:

    • bioinspired:生物视觉模块。
    • datasets:数据集读取模块。
    • dnn:深度神经网络模块。
    • face:人脸识别模块。
    • matlab:MATLAB接口模块。
    • stereo:双目立体匹配模块。
    • text:视觉文本匹配模块。
    • tracking:基于视觉的目标跟踪模块。
    • ximgpro:图像处理扩展模块。
    • xobjdetect:增强2D目标检测模块。
    • xphoto:计算摄影扩展模块。

    可以通过以下两种方式使用贡献库:

    • 下载OpenCV贡献库,使用cmake手动编译。
    • 通过语句pip install opencv-contrib-python直接安装编译好的OpenCV贡献库。


    网页​​pypi.org/project/ope…​​


    例子

    import cv2
    filename = r"C:\Users\space.png"
    img=cv2.imread(filename)
    cv2.namedWindow("test")
    cv2.imshow("test",img)
    cv2.imwrite("space_copy.png",img)
    cv2.waitKey()
    cv2.destroyWindow("test")


    本文共计970个文字,预计阅读时间需要4分钟。

    如何用Python实现OpenCV的入门级操作?

    使用OpenCV入门:首先访问pypi.org/project/opencv-python,完成下载后,在Anaconda Prompt中使用pip install命令,完整路径文件名安装:pip install opencv-python==3.4.3.18-cp37-cp37m-win_amd64。

    opencv入门

    安装

    在​​pypi.org/project/ope…​​

    完成下载后,在Anaconda Prompt内使用pip install完整路径文件名完成安装。

    pip install D:\anaconda\Lib\opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl

    基本使用

    读取图像

    img = cv2.imread( filename[, flags] )

    img是返回值,其值是读取到的图像。

    如果未读取到图像,则返回“None”。

    如何用Python实现OpenCV的入门级操作?

    • filename表示要读取的图像的完整文件名。
    • flags是读取标记。该标记用来控制读取文件的类型

    函数cv2.imread()能够读取多种不同类型的图像

    显示图像

  • namedWindow函数
    用来创建指定名称的窗口,其语法格式为:
  • None = cv2.namedWindow( winname )
  • imshow函数
    函数cv2.imshow()用来显示图像,其语法格式为:
  • None = cv2.imshow( winname, mat)
    • winname是窗口名称。
    • mat是要显示的图像。


    也可以不创建窗口,直接使用函数cv2.imshow()引用一个并不存在的窗口,并在其中显示指定图像,这样函数cv2.imshow()实际上会完成如下两步操作。

    第1步:函数cv2.imshow()创建一个指定名称的新窗口。

    第2步:函数cv2.imshow()将图像显示在刚创建的窗口内。

    cv2.imshow("不存在的窗口名", 要显示的图像)

    import cv2
    lena=cv2.imread("lena.bmp")
    cv2.imshow("demo", lena )
  • waitKey函数
    函数cv2.waitKey()用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值。
  • retval = cv2.waitKey( [delay] )
    • retval表示返回值。如果没有按键被按下,则返回-1;如果有按键被按下,则返回该按键的ASCII码。
    • delay表示等待键盘触发的时间,单位是ms。当该值是负数或者零时,表示无限等待。该值默认为0。


    Python提供了函数ord(),用来获取字符的ASCII码值。


  • destroyWindow函数
    函数cv2.destroyWindow()用来释放(销毁)指定窗口,其语法格式为:
  • None = cv2.destroyWindow( winname )

    在实际使用中,该函数通常与函数cv2.waitKey()组合实现窗口的释放。

  • destroyAllWindows函数
    函数cv2.destroyAllWindows()用来释放(销毁)所有窗口,其语法格式为:
  • None = cv2.destroyAllWindows( )

    保存图像

    OpenCV提供了函数cv2.imwrite(),用来保存图像,该函数的语法格式为:

    retval = cv2.imwrite( filename, img[, params] )
    • retval是返回值。如果保存成功,则返回逻辑值真(True);如果保存不成功,则返回逻辑值假(False)。
    • filename是要保存的目标文件的完整路径名,包含文件扩展名。
    • img是被保存的图像。
    • params是保存类型参数,是可选的。

    OpenCV贡献库

    OpenCV贡献库:该扩展库的名称为opencv_contrib

    OpenCV贡献库中包含了非常多的扩展模块:

    • bioinspired:生物视觉模块。
    • datasets:数据集读取模块。
    • dnn:深度神经网络模块。
    • face:人脸识别模块。
    • matlab:MATLAB接口模块。
    • stereo:双目立体匹配模块。
    • text:视觉文本匹配模块。
    • tracking:基于视觉的目标跟踪模块。
    • ximgpro:图像处理扩展模块。
    • xobjdetect:增强2D目标检测模块。
    • xphoto:计算摄影扩展模块。

    可以通过以下两种方式使用贡献库:

    • 下载OpenCV贡献库,使用cmake手动编译。
    • 通过语句pip install opencv-contrib-python直接安装编译好的OpenCV贡献库。


    网页​​pypi.org/project/ope…​​


    例子

    import cv2
    filename = r"C:\Users\space.png"
    img=cv2.imread(filename)
    cv2.namedWindow("test")
    cv2.imshow("test",img)
    cv2.imwrite("space_copy.png",img)
    cv2.waitKey()
    cv2.destroyWindow("test")