常用数据结构与颜色空间

news2024/7/5 22:21:15

常用数据结构与颜色空间

矩阵和图像类型

图像可能是灰度,彩色,4 通道的(RGB+alpha),其中每个通道可以包含任意的整数或浮点数。因此,该类型比常见的、易于理解的3通道 8位 RGB 图像更通用。
RBG颜色空间、 HSV/HLS颜色空间、 Lab颜色空间
在这里插入图片描述

Scalar 0表示具有四个元素的数组,大量用来传递像素值,如RGB颜色一般形式: Scalar(double B,double Gdouble R,double Alpha)如果用不到第四个则表示Scalar(B,G,R),其中:B一表示蓝色分量,G一表示绿色分量R一表示红色分量,Alpha一表示透明度注意:Scalar表示颜色顺序为BGR
Scalar (255,0,0)表示纯蓝色Scalar (0,255,0)表示纯绿色
Scalar (0,0,255)----表示纯红色Scalar (255,255,0)----表示青色
色调(E):200 红®:255
饱和度(s):240 绿(G):0
Scalar (0,255,255)
颜色|纯色(0)
----表示黄色

在这里插入图片描述

OpenCV 提供了大量实用的图像操作符,包括缩放图像,单通道提取,找出特定通道最大最小值,两个图像求和,对图像进行阙值操作,等等。本章我们将仔细介绍这类操作。

图像类型

       宏                             图像像素类型

IPL DEPTH 8U -------------------------------- 无符号 8 位整数 (8u)
IPL DEPTH 8S -------------------------------- 有符号 8位整数(8s)
IPL_DEPTH_16S------------------------------有符号16 位整数(16s)
IPL DEPTH_32S-------------------------------有符号 32位整数(32s)
IPL DEPTH 32F--------------------------------32 位浮点数单精度(32f)
IPL_DEPTH_64F-------------------------------64 位浮点数双精度(64f)

图像访问

通常,我们需要非常迅速和高效地访问图像中的数据。这意味着我们不应受制于存取函数。实际上,我们想要用最直接的方式访问图像内的数据。
虽然 OpenCV 中有很多优化函数帮助我们完成大多数的图像处理的任务,但是还有一些任务,库中没有预先包装好的函数可以帮我们解决。例如,如果我们有一个三通道 HSV 图像,在色度保持不变的情况下,我们要设置每个点的饱和度和高度为 255(8 位图像的最大值),我们可以遍历图像,对每个像素点进行修改。

在这里插入图片描述
示例代码:

for i in range(0,img.shape[0]): 
#访问所有行
   for j in range(0,img.shape[1]):
    #访问所有列
       if(int(img[i,j] * contrast * 0.01 + brightness)>255):
           img[i,j] = 255
       else:
           img[i,jl =int(img[i,jl * contrast * 0.01 + brightness

Rect类

ROI 在实际工作中有很重要的作用,在很多情况下,使用它们会提高计算机视觉代码的执行速度。这是因为它们允许对图像的某一小部分进行操作,而不是对整个图像进行运算。

Rect类用来表示矩形,成员有x, y, width, height

Python中直接用元组(x,y,w,h)
在这里插入图片描述

Size类

Size表示区域大小,常用构造函数Size(intwidth, int height)Python中直接用元组(width,height)

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

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

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

相关文章

Blender 3.5 面的操作(二)

目录 1. 面操作1.1 面的切割1.2 整体切分1.3 面的法向1.4 正面、背面1.5 翻转法向1.6 填充面1.7 X-Ray 透视模式 1. 面操作 1.1 面的切割 切割工具 Knife,快捷键 k 选中一个面 按k键,进入切割工具(建议使用快捷键切割)&#xff…

crossover可以安装什么软件?支持的软件列表

CrossOver是一款可以在Mac和Linux等操作系统上运行Windows软件,而无需在计算机上安装Windows操作系统。这款软件的核心技术是Wine,它是一种在Linux和macOS等操作系统上运行Windows应用程序的开源软件。本文将会对CrossOver进行详细介绍,并回答…

“SCSA-T学习导图+”系列:IPSec VPN原理与应用

本期引言: 本章主要讲解IPSec VPN相关理论概念,工作原理。从安全和加密原理入手,讲解了IPSec 在VPN对等体设备实现的安全特性,如数据的机密性、数据的完整性,数据验证等。重点分析IPSec封装模式,IPSec安全…

技术解读丨多模数据湖:助力AI技术,推动内容管理平台智能化升级

随着数字化时代的到来,数据已经成为企业的重要资产之一。因此,构建高效的内容管理平台变得至关重要。本文重点介绍SequoiaDB多模数据湖技术在内容管理平台中的应用和成效,以及其对企业非结构化数据管理和AI的推动作用。 随着数字化时代的到来…

Vue3技术6之toRef和toRefs、shallowReactive与shallowRef、readonly与shallowReadonly

Vue3技术6 toRef和toRefstoRefApp.vueDemo.vue toRefsApp.vueDemoTwo.vue 总结 shallowReactive与shallowRefshallowReactiveApp.vueDemo.vue shallowRefDemo.vue 总结 readonly与shallowReadonlyApp.vueDemo.vueDemoTwo.vue总结 toRef和toRefs toRef App.vue <template&…

SpringCloud入门实战(七)-Hystrix服务限流

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术&#xff0c;都可以先去官网先看看&…

电子行业数字工厂管理系统的生产管理模式是什么

随着电子行业的不断发展&#xff0c;数字工厂管理系统在生产管理中的应用越来越广泛。数字工厂系统是一种综合管理系统&#xff0c;它将企业的采购、生产、销售、财务、人力资源等多个方面进行整合&#xff0c;实现了企业资源的有效整合和管理效率的提升。电子行业数字工厂系统…

vue 使用 threejs 加载第三方模型

threejs 加载第三方模型 接专栏的上一篇博文&#xff0c;这是加载第三方模型相关的。这篇博文拖了很久了哈&#xff0c;简单说一下吧&#xff0c;本来不想写了的&#xff0c;觉得相对来说比较简单&#xff0c;但是还是稍微一扯。为啥要加载第三方呢&#xff0c;上一篇我们绘制的…

人工智能:技术的进步与未来展望

一、引言 1.人工智能的定义 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是指由人类创造的具有某种程度上模拟、延伸或超越人类智能的技术。AI技术使计算机能够从数据中学习、推理、适应并执行类似人类大脑所进行的任务。这些任务包括图像识别、…

【Linux命令行与Shell脚本编程】三,Linux文件系统

Linux命令行与Shell脚本编程 第三章 Linux文件系统 文章目录 Linux命令行与Shell脚本编程三.Linux文件系统3.1,查看文件3.1.1,ls 命令 选项和参数3.1.2,过滤输出列表 3.2, 处理文件3.2.1,touch 创建文件3.2.2,cp 复制文件cp -i 覆盖询问cp -R 递归cp命令中使用通配符 3.2.3,ta…

NFS网络文件共享服务

NFS网络文件共享服务 NFS&#xff08;network file system&#xff09;网络文件系统 可以把对方主机资源直接挂载到自己电脑上&#xff0c;比FTP更加方便 明文传输 没有认证机制 安全性很差 只在局域网使用 依赖RPC(远程过程调用&#xff09; 需要安装nfs-utils(提供NFS服务)…

对话西门子Mendix:低代码与亚马逊云科技Serverless的底层融合,助力企业提效降本...

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 3月30日 亚马逊云科技举办了主题为“全面拥抱Serverless时代”的创新大会&#xff0c;分享了亚马逊云科技17年引领Serverless发展的技术创新、应用场景以及全球客户的创新实践。 会上&#xff0c;亚马逊云科技大中华区产品部…

RocketMQ高级概念

一 RocketMQ核心概念 1.消息模型&#xff08;Message Model&#xff09; RocketMQ主要由 Producer、Broker、Consumer 三部分组成&#xff0c;其中Producer 负责⽣产消息&#xff0c;Consumer 负责消费消息&#xff0c;Broker 负责存储消息。Broker 在实际部署过程中对应⼀台…

[MLIR] 转换流程详解(以Toy接入为例)

参考资料&#xff1a; [MLIR] 转换流程详解(以Toy接入为例) - 知乎 (zhihu.com) 在本文中我们使用 toy 语言接入 MLIR&#xff0c;最终转化为 LLVM IR (或目标代码)为例&#xff0c;来讲解 MLIR 的转换流程。具体的流程如下&#xff1a; .toy 源文件 → AST → MLIRGen(遍历AST…

【SSM】整合开发

文章目录 1.ssm整合过程1.1步骤1.2 Spring整合SpringMVC的问题 2.准备工作2.1 添加依赖2.2 创建数据库 3.相关配置3.1 整合Spring和Mybatis3.2 引入SpringMVC3.3 spring整合入web项目 4.测试整合效果 1.ssm整合过程 1.1步骤 &#xff08;1&#xff09;Spring整合MyBatis 通过…

PHP数组的功能及实现案例

目录 前言 一、什么是数组 二、创建关联数组 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 三、创建索引数组 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 前言 1.若有选择&#xff0c;可实现在目录里进行快速查找&#xff…

golang-GC垃圾回收

参考&#xff1a;https://juejin.cn/post/7040737998014513183#comment 垃圾回收&#xff08;Garbage Collection&#xff0c;缩写为GC&#xff09;&#xff0c;是一种自动内存管理机制。 相关术语 赋值器:说白了就是你写的程序代码&#xff0c;在程序的执行过程中&#xff0c…

《架构设计》-08-分布式系统和Rpc架构

文章目录 1. 分布式系统1.1 横向拆分1.2 分布式服务框架优缺点1.3 功能/非功能需求 2. RPC架构2.1 概述2.2 网络通信2.3 序列化2.3.1 概述2.3.2 传输协议 2.4 服务调用2.4.1 概述2.4.2 同步调用2.4.3 异步调用&#xff08;Future模式为例&#xff09;1&#xff09;Future-Get模…

day2 OSI七层体系结构

目录 网络体系结构的形成 协议与划分层次 OSI七层体系结构 网络体系结构的形成 两台计算机要互相传送文件需解决很多问题&#xff1b; (1) 必须有一条传送数据的通路。 (2) 发起方必须激活通路。 (3) 要告诉网络如何识别接收方。 (4) 发起方要清楚对方是否已开机&#…

绿色节约型校园电力能耗监控系统的设计与应用方案

摘 要&#xff1a;校园中能源的消耗与浪费占用了校园总费用支出的很大比例&#xff0c;而电能的消耗又是能源消耗的重中之重&#xff0c;重点阐述了校园能耗监控系统方案设计、关键技术。以北方某高校为例应用该方案&#xff0c;并结合具体的耗能特点对节能措施进行研究。 关…