使用Python-OpenCV在图像上用鼠标绘图2025年4月11日 | 阅读 4 分钟 引言使用 Python 和 OpenCV 在图像上进行鼠标绘图是一种研究计算机视觉和 GUI 功能的有用且引人入胜的方法。借助 OpenCV,一个强大的图像处理框架,用户可以设计独特的交互式应用程序,包括创意效果、形状绘制和图像标注。由于它允许用户通过鼠标事件(如单击和拖动)与图像进行动态交互,因此它是教育项目、交互式艺术和基于图像的应用程序用户界面元素的原型设计的理想工具。 通常,该过程包括创建对特定事件(例如鼠标左键单击、移动和释放)做出反应的鼠标回调方法,并根据光标位置创建形状。用户只需几行代码就可以绘制圆形、矩形或自由手画线等对象,记录鼠标事件,并构建一个窗口来显示图像。除了提高用户参与度之外,此功能还为更复杂的 Python 图像处理任务奠定了基础。 OpenCV 是一个庞大的开源库,用于图像处理、机器学习和计算机视觉。OpenCV 支持多种编程语言,包括 Python、C++、Java 等。通过处理图像和视频,它可以识别面部、对象甚至人类手写体。在本文中,我们将尝试使用鼠标在图像上进行绘制。在学习如何使用鼠标在图像上进行绘制之前,我们必须首先理解什么是回调。 回调在编程中,回调是进程完成后被调用的函数。这同样适用于通常面向事件的编程。当按下鼠标按钮(一个事件)时,调用一个函数。我们不知道按钮何时会被按下。我们只能指示按钮“回调我”或在单击鼠标按钮时调用此函数。 鼠标回调当用户使用鼠标执行一个动作(通常称为事件)时,可能会发生回调。对于鼠标,只有一个回调函数 setMouseCallback(),它会被每一个鼠标动作调用。 我们可以利用条件块来根据使用鼠标执行的事件或动作执行某些操作。鼠标动作或事件可能是:
何时应该发生此回调? 只有当我们使用鼠标在标题为“弹出窗口标题”的弹出窗口上操作时,我们才希望此回调发生。 示例 1:使用 OpenCV 在弹出窗口上左键单击时绘制圆形 说明 当按下鼠标左键时,此代码将创建一个图像窗口,并在鼠标单击点绘制一个绿色的圆。当按下“Esc”键时,窗口关闭。 输出 ![]() 示例 2:使用 OpenCV 通过拖动在图像上绘制矩形 说明 然后使用此代码,用户可以在窗口中的图像上通过单击并拖动鼠标来创建矩形。最后,创建的矩形将被绘制在原始图像上,并且绘制将持续实时显示,直到释放鼠标按钮。 输出 ![]() cv2.waitKey(10) & 0xFF == 27 的作用是什么?cv2.waitKey() 返回的 32 位整数值可能因平台而异。按键输入是 ASCII 格式的 8 位整数值。您希望所有其他位都为零,并且只关心这八位。您可以通过使用 cv2.waitKey(10) & 0xFF == 27 来实现此目的。 |
在现代生产力的格局中,数据组织和操作是众多行业的基石。Google Sheets 作为一种流行且通用的协作式数据管理和分析工具。虽然其用户友好的界面简化了许多任务,但通过脚本进行自动化的范围可以...
阅读 4 分钟
在编程领域,面向对象编程 (OOP) 是一种有效的范例,它允许您通过将现实世界的实体表示为代码中的对象来模拟它们。Python,以其多功能性和健壮性而闻名,确实拥抱了 OOP 概念,使其成为...
阅读 8 分钟
引言 对于数学、计算机科学等复杂问题,一种非常有用的策略是称为“分而治之”的方法,即将问题分解成更小的、更容易管理的部分。这可能是解决各种问题最常用的方法之一……
阅读 12 分钟
今天,让我们深入探讨如何使用 Python 制作一个 GPS 追踪器!以下是我们在本文中将涵盖的内容:GPS 追踪简介 使用 Python 进行 GPS 追踪的一些原因 一个简单的 Python GPS 脚本...
阅读 4 分钟
简介 在机器学习和数据科学领域,随机森林规则集是一个强大而灵活的工具。它属于集成学习算法类别,该类别混合了多个学习模型的预测,以提供...
阅读 6 分钟
? Pandas 概述 Pandas 是一个著名的开源信息控制和分析库,适用于 Python。它提供了数据结构,可有效地存储和操作大型数据集,以及工具,可与结构化数据无缝协作。Pandas 中的主要数据结构是 Series 和 Data Frame。"Pandas:...
阅读9分钟
? 在 Python 中,模块是包含 Python 代码的文件,用于定义函数、类和变量。它们允许您将代码组织成逻辑单元,从而更易于管理和重用。通常,您使用文件开头的 import 语句导入一个模块……
阅读 3 分钟
理解百分比是数学的一个重要组成部分,它在科学、金融和日常生活等各个领域都有应用。百分比计算是在编程中一项典型的任务,尤其是在数据分析、预算和评分系统中。凭借其易用性和通用性,...
阅读 6 分钟
Python 是一种解释型高级语言,简单易学,因此初学者、中级和高级开发人员都可以学习和理解。它由 Guido Van Rossum 于 1991 年创建。它支持不同的编程范式,如过程式、面向对象和……
5 分钟阅读
? 引言 可以使用 import 语句或 subprocess 模块从另一个文件中运行 Python 文件。通过使用 import,可以将其功能集成到另一个文件中,从而立即访问该文件的变量和函数。或者,并且在……
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India