学习网站

  • https://zhuanlan.zhihu.com/p/483604320

命名空间

  • using namespace cv;

Mat

  • 作用
    • 创建图像(矩阵)
  • 格式
Mat image; //创建一个空图像image,大小为0
Mat image(100,100,CV_8U); //指定矩阵大小(矩阵行数/列数)、数据类型
Mat image(100,100,CV_8U, 100); //指定矩阵大小、数据类型、初始值
Mat image(100,100,CV_8U, Scalar(100)); //对于灰度图像:可以直接给出初始值,也可以使用Scalar()
Mat image(100,100,CV_8UC3, Scalar(100,100,100)); //对于三通道图像,使用Scalar()// 数据类型
// CV_8U:8位无符号型(0~255),即灰度图像
// CV_8UC3:三通道8位无符号型。三通道指:B(蓝)G(绿)R(红)。
  • 扩展
image.rows //获取图像的高度,行数
image.cols //获取图像的宽度,列数
image.channels() //获取图像的通道数,彩色图=3,灰度图=1;
image.size //获取图像的尺寸,行*列;
image.empty())  //检测image有无数据,无数据返回“真”

imread

  • 格式
    • imread(图像路径, 图像形式);
  • 示例
image = imread("1.jpg", IMREAD_COLOR);
image = imread("1.jpg", 1); 
// 参数说明
IMREAD_COLOR //(1) 加载彩色图像(默认加载形式)
IMREAD_GRAYSCALE //(0) 加载灰度模式图像
IMREAD_UNCHANGED //(-1) 加载图像,包括alpha通道

imwrite

  • 格式
    • imwrite(保存图像名称及格式,图像名称)
  • 示例
imwrite("1.png", image); //保存图像为png格式,文件名称为1

imshow

  • 格式
    • imshow(窗口名称,图像名称)
  • 示例
namedWindow("IMAGE");  //创建显示窗口。不加这行代码,也能显示,默认窗口大小不能改变
imshow("IMAGE", image);  //在窗口显示图像

cvtColor

NV12转RGB

  • 示例
cv::cvtColor(SrcYUV, RGBImage,  cv::COLOR_YUV2RGB_NV12)

I420转RGB

  • 示例
cv::cvtColor(SrcYUV, RGBImage, cv::COLOR_YUV2RGB_I420)

rectangle

  • 作用
    • 绘制一个矩形轮廓或一个填充矩形,其两个相对的角是pt1和pt2
  • 示例
cv::rectangle(image, cv::Point(100, 150), cv::Point(250, 300), cv::Scalar(0, 0, 255),4);

circle

  • 作用
    • 在图像上绘制圆
  • 示例
cv::circle(image, cv::Point(417, 143), 95, 0, 3);    //参数:图片、圆心、半径、颜色、轮廓厚度

putText

  • 作用
    • 在图像上写入文本
  • 示例
cv::putText(image, "This is a dog", cv::Point(300, 261), cv::FONT_HERSHEY_PLAIN, 2.0, 255, 3);  //参数:图片、文本内容、文本起始位置、字体类型、字体大小、字体颜色、文本厚度

Rect

  • 作用
    • 定义一个感兴趣区域
  • 示例
Mat imageROI(image, Rect(0,0,10,10));  //定义感兴趣区域

waitKey

  • 示例
waitKey(0); //暂停,保持图像显示,等待按键结束

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

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

相关文章

C#基础(⑦user32.dll)

我们来详细学习如何使用 user32.dll,它是 Windows 系统中负责用户界面交互的核心 DLL,包含窗口管理、消息处理、键盘鼠标输入等功能。下面从基础到进阶,一步一步教你调用其中的常用函数。在 C# 中调用 user32.dll 需要使用 DllImport 特性&am…

Markdown格式.md文件的编辑预览使用

推荐工具Visual Studio Code (VS Code) - 强烈推荐特点:微软出品,免费、开源、跨平台(Windows, macOS, Linux)。拥有海量插件市场。编辑体验:安装 Markdown All in One 等插件后,可以获得语法高亮、实时预览…

TypeScript:unknown 类型

作为前端开发工程师,在 TypeScript 中使用 unknown 类型是提升类型安全的关键实践。下面我会结合实际开发场景详细讲解其特性和价值。unknown 核心特性1.类型安全的顶级类型与 any 类似,可接受任何类型的赋值:let userInput: unknown; userIn…

2025 批量下载hasmart所有知乎回答,文章和想法,导出txt,html和pdf

之前分享过文章2025 一键批量下载备份知乎回答/文章/想法/专栏/视频/收藏夹,导出txt,html和 pdf ,今天继续下载hasmart这个号的所有知乎回答 下载的知乎回答目录,包含发布时间和标题,点击可跳转对应回答。 2019年发布…

mapbox高阶,结合threejs(threebox)添加管道,实现管道流动效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言 1.1 ☘️mapboxgl.Map 地图对象 1.2 ☘️mapboxgl.Map style属性 1.3 ☘️threebox add加载网格对象 二、🍀…

语音识别后处理——如何语音断句加上标点、顺滑、ITN等

基本流程 基于cpu的计算: 前往intel官网下载libmkl相关的库:libmkl_core.a、libmkl_gf_lp64.a、libmkl_sequential.a # 静默安装 ./intel-onemkl-2025.2.0.629_offline.sh -a -s --eula accept默认安装目录:/opt/intel/oneapi libmkl相关的…

[吾爱出品] 图片转换王 v1.01 - 多格式支持 / 支持pds、Ai格式

[吾爱出品] 图片转换王 多格式支持 链接:https://pan.xunlei.com/s/VOZ81aeES9JDqlcvXPKYlxwqA1?pwdni9b# 图片转换王」是一款专为设计师、自媒体从业者及普通用户打造的专业图片格式转换工具,秉持绿色便携理念,无需繁琐安装步骤&#xf…

GitLab 18.3 正式发布,更新多项 DevOps、CI/CD 功能【一】

沿袭我们的月度发布传统,极狐GitLab 发布了 18.3 版本,该版本带来了通过直接转移进行迁移、CI/CD 作业令牌的细粒度权限控制、自定义管理员角色、Kubernetes 1.33 支持、通过 API 让流水线执行策略访问 CI/CD 配置等几十个重点功能的改进。下面是对部分重…

【macOS】垃圾箱中文件无法清理的--特殊方法

【macOS】垃圾箱中文件无法清理的特殊方法直接拖拽到 Beyond Compare App中,删除时,选择以下选项即可彻底删除。1.在macOS桌面,将垃圾箱打开2.将垃圾文件和文件夹,拖拽到Beyond Compare界面3.选中待删除的文件和文件夹如上图。4.鼠…

Python UV 管理如何使用镜像源安装 Python

uv python install [版本号] --mirrorhttps://github.com/astral-sh/python-build-standalone/releases/download/这是默认情况下 uv python 安装命令,命令会找到 astral 公司在 Github 上的存储库,然后进行下载。我们只需要为 mirror 增加任意 Github 镜…

SPI片选踩坑实录(硬件片选和软件片选)

SPI(Serial Peripheral Interface,串行外设接口)的片选信号(Chip Select,简称 CS 或 SS,即 Slave Select)是 SPI 通信中用于选择从设备的关键控制信号,其作用是在多从设备的 SPI 总线…

从理论到RTL,实战实现高可靠ECC校验(附完整开源代码/脚本)(3) RTL实现实战

第二部分:ECC (30, 24)RTL实现实战 - 精雕细琢的硬件卫士 理论是基石,实现是关键。本部分将 手把手构建参数化、可综合、高可靠的ECC编解码器 。本部分将以MIPI 协议中Packet Header 用到的ECC(30,24) 为例…

揭密设计模式:像搭乐高一样构建功能的装饰器模式

揭密设计模式:像搭乐高一样构建功能的装饰器模式 在软件开发中,我们常常会遇到一个问题:如何给一个对象动态地添加新功能,同时又不想修改它的代码?如果直接在原有类上修修补补,代码会变得臃肿复杂&#xff…

【Vue】前端 vue2项目搭建入门级(二)

本文不同于【Vue】前端 vue2项目搭建入门级(一),本文创建vue2项目方式是一键创建vue2 项目,不需要自己配置。1.cmd进入根目录,输入vue create project(vue create 项目名)创建一个project的项目…

基于SQLite索引的智能图片压缩存储系统设计与实现

摘要 本文介绍一种基于SQLite索引的智能图片压缩存储系统,通过融合图像质量压缩与数据压缩技术,实现60-80%的压缩率,较传统方法压缩效率提升4-5倍。系统采用“大文件存储索引数据库”架构,针对性解决海量图片数据迁移与存储中的核…

【一张图看懂Kafka消息队列架构】

一张图看懂Kafka消息队列架构Kafka架构全景图ApacheKafka作为当今最流行的分布式消息队列系统,其架构设计精巧而高效。通过一张典型的Kafka架构图,我们可以清晰地看到几个核心组件:生产者(Producer)、消费者(Consumer)、主题(Topic)、分区(Pa…

计算机三级嵌入式填空题——真题库(24)原题附答案速记

1.表征数字音频每秒钟数据量的参数称为波形声音的__码率__。CD音乐的声音信号的采样率约为44kHz,量化位数为16位,采用双声道,则该参数的值为__1408__kb/s。(码率取样频率*量化位数*声道数44kHz*16*21408kb/s)2.利用载波…

Gradle vs. Maven,Java 构建工具该用哪个?

Java构建工具的甜咸粽子之争,就是 Gradle 和 Maven 该用哪个? 随心所欲的手动挡 vs. 稳如老狗的自动挡 Maven用的是pom.xml。很多人一听XML就头大,觉得又臭又长。但换个角度想,XML的缺点正是它最大的优点:死板、规范、…

将Markdown文档输出成Word格式

大家好!今天想和大家分享一个技术文档格式转换的小故事。有个朋友在软件行业从事文档工作,她们的手册是用Markdown编写的,使用Facebook的Docsaurus框架,在线浏览很方便,但输出Word格式却很不方便,问我是否有…

COMSOL基于Voronoi毛细管及多边形骨料ITZ的微介观混凝土水分扩散模型

本案例是通过COMSOL对论文An innovative method for mesoscale modelling of moisture diffusion in concrete(https://doi.org/10.1016/j.cemconcomp.2024.105836)中Voronoi毛细管、多边形骨料、ITZ、水泥浆体多相材料的几何模型复现。 其中论文中的混…