openCV1.1 Mat对象

imread(“D:\souse\duoxile.jpg”, IMREAD_COLOR);

功能: 从指定路径读取图像文件并解码为OpenCV的Mat对象

第一个参数: 文件路径

  • 类型: const string&
  • 描述: 要读取的图像文件的绝对或相对路径
  • 示例: “D:\souse\duoxile.jpg” 或 “./images/test.png”

第二个参数: 读取模式标志

  • 类型: int
  • 描述: 指定图像的解码方式和通道处理策略
  • 常用标志及其功能:
    • IMREAD_GRAYSCALE (值=0):
      将图像转换为单通道灰度图像读取
      输出Mat对象通道数: 1
      数据类型: CV_8UC1 (8位无符号单通道)

    • IMREAD_COLOR (值=1):
      将图像转换为BGR三通道彩色图像读取
      忽略任何Alpha通道(透明度信息)
      输出Mat对象通道数: 3
      数据类型: CV_8UC3 (8位无符号三通道)

    • IMREAD_ANYCOLOR (值=4):
      以图像本身的颜色模式读取
      如果是彩色图像则保持BGR三通道
      如果是灰度图像则保持单通道
      忽略Alpha通道
      输出Mat对象通道数: 1或3

    • IMREAD_UNCHANGED (值=-1):
      按原样读取图像,包括任何Alpha通道
      彩色图像带透明度: 输出BGRA四通道
      灰度图像带透明度: 输出两通道(灰度+Alpha)
      输出Mat对象通道数: 1、2、3或4
      数据类型: 通常为CV_8UC(n)

namedWindow(“input”, WINDOW_NORMAL);

功能: 创建一个指定名称的窗口,并设置窗口属性为可自由缩放
参数1: 窗口名称

  • 类型: const string&
  • 描述: 窗口的唯一标识名称,用于后续引用操作
  • 示例: “input”、“Result Window”

参数2: 窗口属性标志

  • 类型: int
  • 描述: 指定窗口的创建模式和功能特性
  • 常用标志及其功能:
    • WINDOW_NORMAL (值=0):
      创建可自由调整大小的窗口
      支持鼠标拖拽边框改变窗口尺寸
      可与其他标志组合使用

    • WINDOW_AUTOSIZE (值=1):
      窗口大小自动适应图像尺寸
      无法手动调整窗口大小

    • WINDOW_FULLSCREEN (值=2):
      以全屏模式显示窗口
      覆盖整个屏幕,隐藏任务栏等系统元素

    • WINDOW_OPENGL (值=4):
      创建支持OpenGL渲染的窗口
      用于需要硬件加速图形处理的场景

补充说明:

  1. 该函数需在imshow()之前调用,用于提前定义窗口属性
  2. 窗口名称相同则视为同一个窗口,后续创建操作会覆盖之前的设置
  3. 可通过resizeWindow()函数动态调整窗口大小(需配合WINDOW_NORMAL标志)
  4. 在高DPI显示器上,可能需要结合setWindowProperty()设置缩放系数

Mat对象

功能:图像文件的内存数据对象

在这里插入图片描述

成员参数:

int width = mat.cols;

int height = mat.rows;
int dim = mat.dims;//维数
int channels = mat.channels();

int type = mat.type(); //获取图像类型
int depth = mat.depth(); //获取图像深度
在这里插入图片描述

Mat对象的创建

	//创建一个256*256的单通道图像Mat t1 = Mat(256,256,CV_8UC3);//Scalar:t1 = Scalar(0,0,255);//初始化为Mat t2 = Mat(Size(500, 500), CV_8UC3);t2 = Scalar(0, 255, 0);//初始化为Mat t3 = Mat(Size(500, 500), CV_8UC3);t3 = Scalar(255, 0, 0);//初始化为Mat t4 = mat;//本质上是引用Mat t5 = mat.clone();//深拷贝

Mat 的遍历

基于opencv库函数

	//获取图像的行数和列数int rows = mat.rows;int cols = mat.cols;int ch = mat.channels();for (int row = 0; row < height; row++) {for (int col = 0; col < width; col++) {if (ch == 3) {//Vec3b::表示一个3通道的像素值Vec3b pi=mat.at<Vec3b>(row, col);int blue = pi[0];int green = pi[1];int red = pi[2];mat.at<Vec3b>(row, col)[0] =

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

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

相关文章

java day14

接昨天&#xff0c;响应 响应 就是我们在处理请求的时候&#xff0c;里面的return 其实方法里面写的return的返回平常的什么字符串啊什么等等&#xff1b;这些东西都是直接返回&#xff1b;如果是一个对象的话&#xff0c;我们会按json的格式返回&#xff1b; 这些都依赖于一…

【软件设计师】计算机网络考点整理

以下是软件设计师考试中 ​​计算机网络​​ 的核心考点总结&#xff0c;帮助您高效备考&#xff1a; ​​一、网络体系结构与协议​​ ​​OSI七层模型 & TCP/IP四层模型​​ 各层功能&#xff08;物理层-数据链路层-网络层-传输层-会话层-表示层-应用层&#xff09;对应协…

基于深度学习的工件检测系统设计与实现

在工业自动化领域&#xff0c;工件检测一直是提高生产效率和产品质量的关键环节。传统的人工检测方法不仅效率低下&#xff0c;而且容易受到主观因素的影响&#xff0c;导致误判率较高。随着深度学习技术的飞速发展&#xff0c;基于图像识别的自动检测系统逐渐成为研究热点。今…

IIS入门指南:原理、部署与实战

引言&#xff1a;Web服务的基石 在Windows Server机房中&#xff0c;超过35%的企业级网站运行在IIS&#xff08;Internet Information Services&#xff09;之上。作为微软生态的核心Web服务器&#xff0c;IIS不仅支撑着ASP.NET应用的运行&#xff0c;更是Windows Server系统管…

Linux周测(一)

提示&#xff1a;学习一周了&#xff0c;来检验一下成果吧 文章目录 技术部分&#xff0c;满分100分。 1.如何在Linux系统中查看当前登录的所有用户信息&#xff1f; w或者who或者last 2.请写出在Linux系统中创建一个新用户“testuser”的命令&#xff0c;并指定其家目录为“/h…

构建下一代AI智能体:基于Spring AI的多轮对话应用

构建下一代AI智能体&#xff1a;基于Spring AI的多轮对话应用 前言 大模型时代&#xff0c;AI应用开发已不再是遥不可及的技术。通过合理设计的Prompt工程和对话架构&#xff0c;开发者可以快速构建具备持续记忆能力的AI智能体。本文将重点介绍如何基于Spring AI框架打造可持…

查看mysql配置文件my.cnf的位置

3.删除mysql相关文件 想要完全卸载mysql&#xff0c;不仅要卸载应用&#xff0c;配置文件及相关文件也需要一一清除&#xff0c;还原环境配置&#xff0c;减少一些麻烦。 sudo rm -rf /usr/local/mysql sudo rm -rf /etc/my.cnf sudo rm -rf /var/db/mysql sudo rm -rf /var/…

【从基础到模型网络】深度学习-语义分割-基础

语义分割在深度学习与人工智能领域占据重要地位。它是计算机视觉的核心任务之一&#xff0c;能够将图像像素级地划分为不同语义类别&#xff0c;为理解图像内容提供关键支持。在自动驾驶中&#xff0c;可精准识别道路、车辆、行人等元素&#xff0c;保障行车安全&#xff1b;在…

C++:array容器

array容器是序列容器&#xff0c;它的特点是&#xff1a;静态&#xff0c;固定数目。可以看作更安全的数组。 它还有一些成员函数&#xff0c;如begin&#xff08;&#xff09;&#xff1a;返回指向容器中第一个元素的随机访问迭代器。 #include<iostream>//数组容器 #…

2025年度消费新潜力白皮书470+份汇总解读|附PDF下载

原文链接&#xff1a;https://tecdat.cn/?p42178 过去一年&#xff0c;消费市场在政策驱动与技术迭代中呈现结构性变革。社零总额达487,895亿元&#xff0c;实物商品网零额占比27%&#xff0c;线上渠道成为增长引擎。本报告从食品饮料、美妆护肤、家电数码、服饰户外四大核心领…

[Web服务器对决] Nginx vs. Apache vs. LiteSpeed:2025年性能、功能与适用场景深度对比

更多服务器知识&#xff0c;尽在hostol.com 当你准备为你的网站或应用程序选择一款 Web 服务器软件时&#xff0c;就像是为你的“超级跑车”选择一款合适的“引擎”——它将直接决定你的“座驾”能跑多快、多稳、以及能适应什么样的“路况”&#xff08;工作负载&#xff09;。…

一款适配国内的视频软件,畅享大屏与局域网播放

软件介绍 今天要给大家安利一款超强视频播放软件——MXPlayer。它的解码实力堪称一绝&#xff0c;市面上不管是常见的 MP4、MKV 格式&#xff0c;还是对播放设备要求极高的超高清 4K、HDR 视频&#xff0c;甚至那些鲜为人知的冷门格式&#xff0c;它统统都能流畅播放&#xff…

[CSS3]百分比布局

移动端特点 PC和手机 PC端网页和移动端网页的有什么不同? PC屏幕大&#xff0c;网页固定版心手机屏幕小&#xff0c;网页宽度多数为100% 谷歌模拟器 使用谷歌模拟器可以在电脑里面调试移动端的网页 屏幕尺寸 了解屏幕尺寸概念 屏幕尺寸: 指的是屏幕对角线的长度&#xff…

【低代码】如何使用明道云调用 Flask 视图函数并传参(POST 方法实践)

在自动化办公或业务流程管理中,明道云提供了强大的 HTTP 请求节点,可以直接调用第三方 API,包括我们常见的 Flask 服务端接口。本文将详细介绍如何使用明道云通过 POST 方法调用 Flask 视图函数并传参,包括配置要点与 Python 后端的参数接收方法。 一、场景介绍 我们希望…

在 Azure OpenAI 上使用 Elastic 优化支出和内容审核

作者&#xff1a;来自 Elastic Muthukumar Paramasivam&#xff0c;Bahubali Shetti 及 Daniela Tzvetkova 我们为 Azure OpenAI 正式发布包添加了更多功能&#xff0c;现在提供内容过滤监控和计费见解的增强&#xff01; 在之前的博客中&#xff0c;我们展示了如何使用 Elasti…

iOS解码实现

import Foundation import VideoToolboxclass KFVideoDecoderInputPacket {var sampleBuffer: CMSampleBuffer? }class KFVideoDecoder {// MARK: - 常量private let kDecoderRetrySessionMaxCount 5private let kDecoderDecodeFrameFailedMaxCount 20// MARK: - 回调var pi…

Redis应用--缓存

目录 一、什么是缓存 1.1 二八定律 二、使用Redis作为缓存 三、缓存的更新策略 3.1 定期更新 3.2 实时生成 四、缓存预热、缓存穿透、缓存雪崩和缓存击穿 4.1 缓存预热 4.2 缓存穿透 4.3 缓存雪崩 4.4 缓存击穿 一、什么是缓存 缓存(cache)是计算机的一个经典的概念…

Unity 喷烟喷气特效:喷快消失慢

快速喷气缓慢消失同时播放3*3序列帧动画。常用在火车烟囱特效、气体释放、摔倒、等效果中&#xff0c;可变种应用场景较多。 下列为Particle System参数&#xff1a; Color over Lifetime参数&#xff1a; UnityEditor.GradientWrapperJSON:{"gradient":{"ser…

关于收集 Android Telephony 网络信息的设计思考2

需求: 目标1: Android Telephony data(数据模块)侧收集多源(ServiceStateTracker/ImsService/其他)网络状态信息。目标2: 收集的数据需统一上报/存储到外部App的Provider。字段分散,不方便只在ServiceStateTracker中收集和插入。多触发点/多场景,需要统一插入。一、架构…

Elasticsearch 深入分析三种分页查询【Elasticsearch 深度分页】

前言&#xff1a; 在前面的 Elasticsearch 系列文章中&#xff0c;分享了 Elasticsearch 的各种查询&#xff0c;分页查询也分享过&#xff0c;本篇将再次对 Elasticsearch 分页查询进行专题分析&#xff0c;“深度分页” 这个名词对于我们来说是一个非常常见的业务场景&#…