Python数据分析工具OpenCV用法示例

Python数据分析工具OpenCV是一个强大的计算机视觉库,提供了丰富的图像处理算法和功能,支持多种编程语言,包括Python、C++、C#等。以下是OpenCV在Python中的一些常见用法示例:

一、图像读取、显示与保存

读取图像

import cv2  
image = cv2.imread("image.jpg")

显示图像

cv2.imshow("Image", image)  
cv2.waitKey(0)  # 等待键盘输入  
cv2.destroyAllWindows()  # 关闭所有窗口

保存图像

cv2.imwrite("new_image.jpg", image)

二、图像基本处理

转换图像颜色空间
例如,将图像从BGR(OpenCV默认颜色空间)转换为灰度图像:

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

裁剪图像
通过指定图像的起始坐标和宽度高度来裁剪图像:

cropped_image = image[y:y+h, x:x+w]

调整图像大小
使用cv2.resize()函数可以调整图像的大小:

resized_image = cv2.resize(image, (new_width, new_height))

三、图像滤波与边缘检测

图像平滑
均值滤波:使用cv2.blur()或cv2.boxFilter()函数进行均值滤波。

高斯滤波:使用cv2.GaussianBlur()函数进行高斯滤波。

中值滤波:使用cv2.medianBlur()函数进行中值滤波,常用于去除椒盐噪声。

边缘检测
使用Canny算法进行边缘检测:

edges = cv2.Canny(image, threshold1, threshold2)

四、图像变换

图像旋转
使用cv2.rotate()函数可以旋转图像:

rotated_image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)  # 顺时针旋转90度

图像翻转
使用cv2.flip()函数可以翻转图像:

flipped_image = cv2.flip(image, 1)  # 水平翻转

仿射变换与透视变换
仿射变换:使用cv2.warpAffine()函数进行仿射变换。

透视变换:使用cv2.warpPerspective()函数进行透视变换。

五、图像阈值处理

使用cv2.threshold()函数可以进行图像阈值处理:

ret, thresholded_image = cv2.threshold(image, threshold_value, max_value, cv2.THRESH_BINARY)

其中,threshold_value是阈值,max_value是超过阈值后赋予的新值,cv2.THRESH_BINARY是阈值类型。

六、图像融合与绘制

图像融合
使用cv2.addWeighted()函数可以将两幅图像按权重进行融合:

dst = cv2.addWeighted(img1, alpha, img2, beta, gamma)

其中,alpha和beta分别是两幅图像的权重,gamma是一个加到结果上的标量值。

绘制图形和文字
绘制直线:使用cv2.line()函数。

绘制矩形:使用cv2.rectangle()函数。

绘制圆形:使用cv2.circle()函数。

绘制文字:使用cv2.putText()函数。

七、视频处理

打开摄像头或视频文件
使用cv2.VideoCapture()函数可以打开摄像头或视频文件:

cap = cv2.VideoCapture(0)  # 打开默认摄像头  
# 或者  
cap = cv2.VideoCapture("video.mp4")  # 打开视频文件

读取视频帧
使用cap.read()函数可以读取视频帧:

ret, frame = cap.read()

保存视频
使用cv2.VideoWriter()和cv2.VideoWriter_fourcc()函数可以创建视频写入对象并设置视频编解码器,然后逐帧写入视频数据。

以上是OpenCV在Python中的一些常见用法示例,涵盖了图像读取、显示、保存、基本处理、滤波、边缘检测、变换、阈值处理、融合与绘制以及视频处理等多个方面。这些功能和方法为图像处理和计算机视觉任务提供了强大的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年制冷与空调设备安装修理证模拟考试题库及制冷与空调设备安装修理理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年制冷与空调设备安装修理证模拟考试题库及制冷与空调设备安装修理理论考试试题是由安全生产模拟考试一点通提供,制冷与空调设备安装修理证模拟考试题库是根据制冷与空调设备安装修理最新版教材&#…

2024年最新苹果iOS证书申请创建App详细图文流程

iOS 证书设置指南: 对于开发者来说,在没有Mac电脑或对Xcode等开发工具不熟悉的情况下,如何快速完成IOS证书制作和IPA文件提交至开发者中心一直是一个难题。但是现在,有了初雪云提供的极简工具,您可以轻松实现这两个任…

分布式数据库环境(HBase分布式数据库)的搭建与配置

分布式数据库环境(HBase分布式数据库)的搭建与配置 1. VMWare安装CentOS7.9.20091.1 下载 CentOS7.9.2009 映像文件1.2启动 VMware WorkstationPro,点击“创建新的虚拟机”1.3在新建虚拟机向导界面选择“典型(推荐)”1…

springBoot集成nacos注册中心以及配置中心

一、安装启动nacos 访问&#xff1a;http://127.0.0.1:8848/nacos/index.html#/login 二、工程集成nacos 1、引入依赖 我这里搭建的父子工程哈&#xff0c;在子工程引入 <dependencies><!-- SpringBoot Web --><dependency><groupId>org.sp…

【Golang】关于Gin框架请求参数的获取

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

基于springboot的网上服装购物商城系统

基于springboot的网上服装购物商城系统 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;idea 源码获取&#xff1a; &#x…

【conda环境打包】ubuntu的conda环境打包导出方法 conda-pack

【conda环境打包】ubuntu的conda环境打包导出方法 conda-pack 1.准备工作2.解压3.后续处理参考文献 1.准备工作 安装conda-pack pip install conda-pack激活要被打包的环境&#xff0c;打包环境之前 先激活要打包的环境 conda activate 被打包的环境打包命令 conda pack --…

Java 输入与输出(I\O)之字节缓冲流【BufferedInputStream】【BufferedOutputStream】详解

缓冲流是Java I/O中的一个重要概念&#xff0c;它可以提高文件读写的性能。 由于磁盘的IO处理速度远低于内存的读写速度。 为了提高文件读写性能&#xff0c;我们可以使用缓冲流。缓冲流使用内存缓冲区&#xff0c;可以一次性读取或写入大量数据&#xff0c;从而减少与磁盘的交…

vscode中每个打开的文件都显示在一个单独的标签页中

版本&#xff1a;1.94 实现步骤&#xff1a; 1、打开设置 File-》Preferences-》Settings 2、具体设置 2.1、在配置中搜索 workbench.editor.showTabs 设置为multiple。 2.2、在配置中搜索 workbench.editor.enablePreview 取消勾选。 根据这个功能的说明&#xff0c;在…

24.10.20(换根哈希)

星期一&#xff1a; 阴间场 cf渡劫成功&#xff0c;拿下三题&#xff0c;终于上蓝&#x1f973;&#x1f973;&#x1f973; 贴 cf round978 div2 C cf传送门 答案取到n1但初始化没到n1&#xff0c;wa了一发&#xff0c;很烦&#x1f63f;…

100. UE5 GAS RPG 显示范围魔法的攻击范围

在这一篇里&#xff0c;我们将制作一个范围魔法&#xff0c;释放魔法时&#xff0c;我们将在鼠标拾取位置绘制一个魔法光圈&#xff0c;用于显示技能释放时攻击的范围&#xff0c;然后再次点击可以释放技能。 创建贴花类 魔法范围标识的光圈&#xff0c;我们采用贴花实现&…

利用飞腾派进行OpenCV开发

实验目标&#xff1a; 完成飞腾平台OpenCV开发。 实验大纲&#xff1a; Mat数据结构加载、显示、保存图像读写像素RGB图像分离彩色图转灰度图 Mat数据结构 Mat是一个类&#xff0c;由两个数据部分组成&#xff1a;矩阵头(大小,通道,数据类型等)和数据块(像素 值)。创建示例…

SQL Server-导入和导出excel数据-注意事项

环境&#xff1a; win10&#xff0c;SQL Server 2008 R2 之前写过的放在这里&#xff1a; SqlServer_陆沙的博客-CSDN博客 https://blog.csdn.net/pxy7896/category_12704205.html 最近重启ASP.NET项目&#xff0c;在使用sql server导出和导入数据时遇到一些问题&#xff0c;特…

SDRAM控制器的设计与验证(野火学习笔记)

SDRAM发展至今已历经五代&#xff0c;具有单位存储量大、高数据带宽、读写速度快、价格相对便宜等优点。同时&#xff0c;作为内存条中不可缺少的有一部分&#xff0c;SDRAM在计算机领域也占有一席之地。 &#xff08;SDRAM的内容以及操作时序比较复杂&#xff0c;本文已经尽可…

计算机毕业设计Python+大模型知识图谱中华古诗词可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析 PyTorch Tensorflow LSTM

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 开发技术&#xff1a; 前端…

Web前端-JavaScript书写位置

一、JavaScript介绍 1.JavaScript 是什么? 是一种运行在客户端(浏览器)的编程语言&#xff0c;实现人机交互效果。 2.作用 &#xff08;1&#xff09;网页特效(监听用户的一些行为让网页作出对应的反馈) &#xff08;2&#xff09;表单验证(针对表单数据的合法性进行判断…

大语言模型训练

大语言模型训练 1.两大问题2.并行训练2.1数据并行2.2模型并行2.3张量并行2.4混合并行 3.权重计算3.1浮点数3.2混合精度训练3.3deepspeed&#xff08;微软&#xff09;3.3.1 ZeRO3.3.2ZeRO-offload 3.3总结 4.PEFT4.1Prompt TuningPrefix-tuning4.2P-tuning & P-tuning v2 5…

sentinel dashboard分布式改造落地设计实现解释(二)-分布式discovery组件

discovery discovery负责维护app/机器资料库&#xff0c;transport健康检测&#xff0c; transport上下线处理。discovery关键是分布式存储&#xff0c;后续研究一下raft&#xff0c;其复制&#xff0c;状态机&#xff0c;快照技术&#xff0c;但个人觉得&#xff0c;discover…

DBeaver连接Hive教程

hive shell&#xff1a;通过hive shell来操作hive&#xff0c;但是至多只能存在一个hive shell&#xff0c;启动第二个会被阻塞&#xff0c;也就是说hive shell不支持并发操作。 基于JDBC等协议&#xff1a;启动hiveserver2&#xff0c;通过jdbc协议可以访问hive&#xff0c;hi…

基于SSM服装定制系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;服装类型管理&#xff0c;服装信息管理&#xff0c;服装定制管理&#xff0c;留言反馈&#xff0c;系统管理 前台账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xf…