opencv入门(python)

简介: opencv入门(python)

安装

https://pypi.org/project/opencv-python/上面下载最新的基于Python的OpenCV库

完成下载后,在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”。

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

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

显示图像

  1. namedWindow函数
    用来创建指定名称的窗口,其语法格式为:
None = cv2.namedWindow( winname )
  1. 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 )
  1. waitKey函数函数cv2.waitKey()用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值。
retval = cv2.waitKey( [delay] )
  • retval表示返回值。如果没有按键被按下,则返回-1;如果有按键被按下,则返回该按键的ASCII码。
  • delay表示等待键盘触发的时间,单位是ms。当该值是负数或者零时,表示无限等待。该值默认为0。

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

  1. destroyWindow函数
    函数cv2.destroyWindow()用来释放(销毁)指定窗口,其语法格式为:
None = cv2.destroyWindow( winname )
  1. 在实际使用中,该函数通常与函数cv2.waitKey()组合实现窗口的释放。
  2. 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贡献库。

网页https://pypi.org/project/opencv-contrib-python/上提供了该方案的常见问题列表FAQ

例子

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")
相关文章
|
10天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
7天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
7天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
8天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
7天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
20 3
|
9天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
9天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
1月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
342 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
2月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
49 4
|
2月前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
下一篇
无影云桌面