OPencv图像读取_显示_保存

news2024/11/17 7:46:34

OPencv图像读取_显示_保存

一.OpenCV图像处理系统组成:

OpenCV 主体分为五个模块,分别为CV、MLL,HighGUI、CXCORE,CVAux。OpenCV 的 CV 模块包含基本的图像处理函数和高级的计算机视觉算法。ML 是机器学习库,包含一些基于统计的分类和聚类工具。HighGUI 包含图像和视频输入/输出的函数。CXCore 包含 OpenCV的一些基本数据结构和相关函数,CvAux 模块中一般存放一些即将被淘汰的算法和函数(如基于嵌人式隐马尔可夫模型的人脸识别算法),同时还有一些新出现的实验性的算法和函数(如背景和前景的分割)。CvAux 在 Wiki 中并没有很完整的文档,而在…/opencv/docs 子目录下的 CvAux 文档也不是很完整。CvAux 包含以下一些内容:

  1. 特征物体,它是一个模式识别领域里用于降低计算量的方法,本质上,依然是模板匹配。
  2. 一维和二维隐马尔可夫模型(HMM),它是一个基于统计的识别方法,用动态规划来求解。
  3. 嵌入式 HMM(一个父 HMM 的观测量本身也符合 HMM)
  4. 通过立体视觉来实现的动作识别
  5. Delaunay 三角划分、序列等方法的扩展
  6. 立体视觉
  7. 基于轮廓线的形状匹配
  8. 纹理描述
  9. 眼睛和嘴跟踪
  10. 3D跟踪
  11. 寻找场景中的物体的骨架(中心线)
  12. 通过两个不同视角的图像合成中间图像
  13. 前/背景分制
  14. 视频监控(请参考 Wiki 的 FAQ 获得更多资料)
    摄像机标定的 C++类(C 函数和引擎已经在 CV 模块中)未来一些特性可能被合并到 CV 模块,还有一些可能永远留在 CVAux 中。

二.OpenCV图像基本操作示例程序:

示例程序一:

# encoding:utf8
import cv2
img = cv2.imread('dog.jpg')
cv2.imshow('src', img)#---显示原图
hsv_img =cv2.cvtColor(img, cv2.COLOR_BGR2HSV) #---转为HSV图像
cv2.namedWindow('hsv', cv2.WINDOW_AUTOSIZE)#---创建hsv窗口
cv2.imshow('hsv',hsv_img) #---显示hsv图像
cv2.imwrite("hsv.jpg",hsv_img) #---保存hsv图像
cv2.waitKey(0) #---等待按键按下
cv2.destrovAllwindows () #---销毁所有窗口

在这里插入图片描述

示例程序二:

#encoding:utf8
import cv2
#图像的基本操作
img1 =  cv2.imread('C:/Users/Administrator/Desktop/dog.jpg', 1)
img1_0 = img1[..., 0]
img1_1 = img1[..., 1]
img1_2 = img1[..., 2]
cv2.imshow('img1_0',img1_0)
cv2.imshow('img1_1',img1_1)
cv2.imshow('img1_2',img1_2)
print(img1.shape)
cv2.waitKey(0)

在这里插入图片描述

三.代码函数详解

示例程序一:
import cv2:导入cv模块
img = cv2.imread(“1.jpg”) #—读取图像 imread(" r") 其中r为照片路径。
cv2.imshow(“src”,img) #—显示原图 ,img为上方输入路径图像,src为显示图像窗口名字。
hsv img = cv2.cvtColor(img,CV2.COLOR BGR2HSV) #—转为HSV图像 CV2.COLOR BGR2HSV为将RGB图像转为HSV格式照片。
cv2.namedWindow(‘hsv’, cv2.WINDOW_AUTOSIZE)#—创建hsv窗口, cv2.WINDOW_AUTOSIZE为自适应窗体大小。
cv2.imshow(‘hsv’,hsv_img) #—显示hsv图像
cv2.imwrite(“hsv.jpg”,hsv_img) #—保存hsv图像,"hsv.jpg"保存照片名称和格式,hsv_img需要保存的照片
cv2.waitKey(0) #—等待按键按下
cv2.destrovAllwindows () #—销毁所有窗口

示例程序二:
img1.shape为 (366, 457, 3),表示图像大小为366*457,有3个通道,分别为BGR。
其中
img1_0 = img1[…, 0]
img1_1 = img1[…, 1]
img1_2 = img1[…, 2]
分别是将照片第一通道,第二通道,第三通道单独显示。

本文有引用《学习OPencv中文版》书籍介绍

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

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

相关文章

哪个品牌的洗地机更好用?热门洗地机盘点

洗地机没有使用过之前一直怀疑是不是智商税,等到后面体验过之后,发现是真的香。因为不可否认的是,洗地机的清洁力还是不错的。不仅能够快速清洁干净地面,大大的节省了我们的清洁用时,操作起来也省心省力。作为一个洗地…

智驾系统的设计瓶颈之:电源管理设计中的功能安全和状态机

摘要: 本文从智驾系统电源管理设计的角度详细分析了整个系统的电源设计方式。 在整车电源管理中,IC 需要将多轨降压、升压和 LDO 稳压功能与每个电轨的参数,以及与其他电轨间交互的复杂可配置能力整合在一起。对于智驾系统设计人员而言&…

Python中类的属性、多继承、自省机制中的__mro__、__dict__ 和dir介绍

一、通过类名修改属性和通过类的实例去修改类的属性的区别 在 Python 中,类的属性可以通过类名或类的实例访问和修改。但是,通过类名修改属性和通过类的实例修改属性之间有一些区别。通过类名修改属性实际上是修改类的属性。这意味着如果你修改了类的属性…

GrapeCity Documents for Word 6.1.0

GrapeCity Documents for Word 6.1.0 改进了聚合函数中多个表达式的使用。 特征 GcWord 模板: 现在可以使用表达式作为聚合函数的参数。表达式可以在函数中使用常量、聚合或两个集合。现在可以进行以下计算: 使用常量 - {{ calc Sum(2 ds.value)}}。在聚…

5.MapReduce概述

ps.实际生产环境中并不会使用mapReduce,而是spark和flink,但是它可以建立分布式的思想。 1.MapReduce框架 2.mapReduce小项目练习 ps.基本流程:一般都是在代码层面引入hadoop依赖,然后在windows环境下进行代码编写测试,没有问题的话,把代码打包成jar包,然后拖入xShell,利用…

基于单片机的电路特性测试仪的设计

摘 要 当今社会科技的飞速发展,智能和便捷已经成为人们的日常诉求。现在放大电路在使用过程中经常出现故障,并且需要测试电路数据,但是大多数是手动进行测试,一定程度上影响了工作效率。 为了测量数据更安全更便捷,针…

YOLOv8 更换主干网络之 GhostNetV2

《GhostNetV2:Enhance Cheap Operation with Long-Range Attention》 轻量级卷积神经网络(CNN)是专门为在移动设备上具有更快推理速度的应用而设计的。卷积操作只能捕捉窗口区域内的局部信息,这防止了性能的进一步提高。将自注意力引入卷积可以很好地捕捉全局信息,但这将大…

MySQL-----表的增删查改

文章目录 前言一、create1. 单行数据 全列插入2. 多行数据 指定列插入3. 插入冲突否则更新4. 替换 二、retrieve1. select列1.1 全列查询1.2 指定列查询1.3 查询字段为表达式1.4 为查询结果指定别名1.5 结果去重 2. where条件2.1 英语不及格的同学及英语成绩 ( < 60 )2.2 …

Google浏览器翻译无法正常使用解决

1.查找可用服务器地址 按WinR键打开运行→输入cmd回车&#xff0c;打开命令提示符→输入ping google.cn 回车。记录一下下图红框里的ip地址&#xff0c;一会要用到 最近自己ping出来的ip可能不能用了&#xff0c;可以尝试用下面的ip 142.251.163.90 142.250.113.90 142.251.…

springcloudfeign原理和流程

什么是Feign&#xff1f; Feign 的英文表意为“假装&#xff0c;伪装&#xff0c;变形”&#xff0c; 是一个http请求调用的轻量级框架&#xff0c;可以以Java接口注解的方式调用Http请求&#xff0c;而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解&am…

【Cisco Packet Tracer| 四.跨交换机VLAN实验】

文章目录 一.连接实验拓扑图并设置主机IP地址1.连接实验拓扑图2.设置主机的IP地址 二.划分VLAN前测试是否ping通三.划分VLAN1.给主机划分VLAN2.给交换机之间的f0/24端口从Access模式切换到Trunk模式 四.划分VLAN后测试是否ping通五.另一种测试方式-信封图标 一.连接实验拓扑图并…

nginx加tomcat动静分离,负载均衡

tomcat是什么&#xff1a;java开发的开源服务器 处理动态页面&#xff0c;静态页面处理能力一般 jvm参数优化 配置添加 在119行之前 以2cpu 4G内存为例 JAVA_OPTS"$JAVA_OPTS -server -Xms2048m -Xmx2048m -Xmn768m -XX:ParallelGCThreads2 -XX:PermSize1024m -XX:MaxP…

IS230TCISH6C集成电路分类有哪些呢

​ IS230TCISH6C集成电路分类有哪些呢 集成电路分类有哪些 集成电路是一种微型电子器件或部件&#xff0c;集成电路有很多种&#xff0c;那么集成电路分类有哪些呢&#xff0c;下面小编就为大家介绍集成电路的分类。 按功能结构区分 模拟集成电路 数字集成电路 数/模混合集成电…

JavaSE学习进阶day06_04 集合的嵌套和不可变集合

接昨天讲的内容&#xff0c;今天还要继续学习集合。学完今天的内容&#xff0c;集合就告于段落了&#xff0c;坚持&#xff01; 集合的嵌套&#xff08;掌握&#xff01;&#xff09;&#xff1a; 什么是集合的嵌套&#xff1f;为什么要集合的嵌套&#xff1f;为了搞清楚这个…

算法篇——层序遍历大集合(js版)

102.二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 链接&#xff1a;力扣 var levelOrder function(root) {var res [], queue [];if(!root) return res;// 队列…

海斯坦普Gestamp EDI 需求分析

海斯坦普Gestamp&#xff08;以下简称&#xff1a;Gestamp&#xff09;是一家总部位于西班牙的全球性汽车零部件制造商&#xff0c;目前在全球23个国家拥有超过100家工厂。Gestamp的业务涵盖了车身、底盘和机电系统等多个领域&#xff0c;其产品范围包括钣金、车身结构件、车轮…

非极大值抑制详细原理(NMS含代码及详细注释)

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect 个…

配置vscode arcpy环境 基于ArcGIS的python

最近可能要用到arcpy&#xff0c;我以前这是知道有这个东西&#xff0c;但是没用过&#xff0c;今天正好记录下利用vsCode编译器&#xff0c;python开发来配置arcpy环境。 1.安装ArcGIS desktop 2.下载安装vscode 上面的两步没啥可说的&#xff0c;很简单&#xff0c;我要说…

ArcGIS、ENVI、InVEST、FRAGSTATS多技术融合提升环境、生态、水文、土地、土壤、农业、大气领域应用

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平 点击查看原文 一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 …

性能优化之-更高效的数据渲染

前言&#xff1a;中心思想还是让请求的资源得到更快响应的方法&#xff0c;比如压缩资源&#xff0c;减少数据量的大小&#xff0c;缓存数据以减少请求数量&#xff0c;http/2让网络传输变得更快这些&#xff0c;下面就让我们来看看浏览器是如何解析这些数据&#xff0c;最终又…