2,OpenCV函数解析

1,imread函数:图片读取

CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );//参数1(filename):文件地址
//参数2(flags):读取标志

注:ImreadModes,参数2(flags)枚举定义

enum ImreadModes {IMREAD_UNCHANGED            = -1, //!< If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). Ignore EXIF orientation.IMREAD_GRAYSCALE            = 0,  //!< If set, always convert image to the single .........};

2,imwrite函数:图片保存

CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,const std::vector<int>& params = std::vector<int>());//参数1(filename):文件地址
//参数2(img):图片数据
//参数3(params ):为特定格式保存的参数编码

注:ImwriteFlags ,参数3(params)枚举定义

enum ImwriteFlags {IMWRITE_JPEG_QUALITY        = 1,  //!< For JPEG, it can be a quality from 0 to 100 (the higher is the better). Default value is 95.IMWRITE_JPEG_PROGRESSIVE    = 2,  //!< Enable JPEG features, 0 or 1, default is False........};

3,imshow函数:图片显示

CV_EXPORTS_W void imshow(const String& winname, InputArray mat);//参数1(winname):窗口名称
//参数2(img):图片数据

4,cvtColor函数:颜色空间转换

实现RGB颜色空间转HSV/HSI/灰度等颜色空间。

CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );//参数1(src):原图
//参数2(dst):处理后的图
//参数3(code):颜色空间转换标识符
//参数4(dstCn):处理后图片的通道数,=0,则和原图相同。

注:ColorConversionCodes ,参数3(code)对应枚举定义

enum ColorConversionCodes {COLOR_BGR2BGRA     = 0, //!< add alpha channel to RGB or BGR imageCOLOR_RGB2RGBA     = COLOR_BGR2BGRA,......
};

5,ellipse函数:画椭圆

两个重载函数
函数1:

CV_EXPORTS_W void ellipse(InputOutputArray img, Point center, Size axes,double angle, double startAngle, double endAngle,const Scalar& color, int thickness = 1,int lineType = LINE_8, int shift = 0);//参数1(img):待绘制的图像
//参数2(center):椭圆中心点
//参数3(axes):长短轴尺寸
//参数4(angle):角度
//参数5(startAngle) :弧度段起始角度
//参数6(endAngle) :弧度段结束角度
//参数7(color):椭圆颜色
//参数8(thickness ):画笔线宽
//参数9(lineType ):画笔线类型     
//参数10(shift ):绘制精度,默认为0(单精度)        

注:startAngle=0,endAngle=360,整个椭圆

函数2:

CV_EXPORTS_W void ellipse(InputOutputArray img, const RotatedRect& box, const Scalar& color,int thickness = 1, int lineType = LINE_8);//参数1(img):待绘制的图像
//参数2(center):椭圆的形状,RotatedRect,有三个属性:angle center size
//参数3(color):椭圆颜色
//参数4(thickness ):线宽
//参数5(lineType ):线类型

注:LineTypes 线类型枚举定义

enum LineTypes {FILLED  = -1,LINE_4  = 4, //!< 4-connected lineLINE_8  = 8, //!< 8-connected lineLINE_AA = 16 //!< antialiased line
};

6,circle函数:画圆

CV_EXPORTS_W void circle(InputOutputArray img, Point center, int radius,const Scalar& color, int thickness = 1,int lineType = LINE_8, int shift = 0);//参数1(img):待绘制的图像
//参数2(center):圆心坐标
//参数3(color):圆的半径
//参数4(color):椭圆颜色
//参数5(thickness ):画笔线宽
//参数6(lineType ):画笔线类型     
//参数7(shift ):绘制精度,默认为0(单精度)

注:thickness =-1,为实心圆

7,fillPoly函数:画多边形

两个重载函数
函数1:

CV_EXPORTS_W void fillPoly(InputOutputArray img, InputArrayOfArrays pts,const Scalar& color, int lineType = LINE_8, int shift = 0,Point offset = Point() );//参数1(img):待绘制的图像
//参数2(pts):顶点集
//参数3(color):椭圆颜色
//参数4(lineType ):画笔线类型   
//参数5(shift ):绘制精度,默认为0(单精度)
//参数6(offset ):绘制的偏移量,默认为(0,0)

函数2:

CV_EXPORTS void fillPoly(InputOutputArray img, const Point** pts,const int* npts, int ncontours,const Scalar& color, int lineType = LINE_8, int shift = 0,Point offset = Point() );//参数1(img):待绘制的图像
//参数2(pts):顶点集
//参数3(npts):多边形顶点数
//参数4(ncontours):多边形数量
//参数5(color):椭圆颜色
//参数6(lineType ):画笔线类型   
//参数7(shift ):绘制精度,默认为0(单精度)
//参数8(offset ):绘制的偏移量,默认为(0,0)

8,line函数:画线

CV_EXPORTS_W void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color,int thickness = 1, int lineType = LINE_8, int shift = 0);
//参数1(img):待绘制的图像
//参数2(pt1):线起点
//参数3(pt2):线终点
//参数4(color):线颜色
//参数5(thickness ):画笔线宽
//参数6(lineType ):画笔线类型     
//参数7(shift ):绘制精度,默认为0(单精度)

9,LUT函数:查表

查表变换,用于大数据图像的图元进行批量操作,牺牲空间换取时间

CV_EXPORTS_W void LUT(InputArray src, InputArray lut, OutputArray dst);
//参数1(src):原图
//参数2(lut):表
//参数3(dst):处理后的图

10,getTickCount函数:获取电脑当前时钟数

CV_EXPORTS_W int64 getTickCount();

11,getTickFrequency函数:获取CPU,1秒的走过的时钟周期

CV_EXPORTS_W double getTickFrequency();//double start = cv::getTickCount();
//double interval = cv::getTickCount() - start;
//double second=interval  / cv::getTickFrequency(); // 结果单位:秒

12,addWeighted函数:图像混合

CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double gamma, OutputArray dst, int dtype = -1);
//参数1(src1):图像1
//参数2(alpha):图像1权重
//参数3(src2):图像2
//参数4(beta):图像2权重
//参数5(gamma):加到权重总和上的值
//参数6(dst):处理后图像
//参数7(dtype ):图像深度,-1和图像1的深度相同
//输出图像图元i,dst[i] = src1[i] * alpha + src2[i ] * beta + gamma; 

注:图像1(src1)和图像2(src2)类型和尺寸需要相同

13,split函数:通道分离

CV_EXPORTS_W void split(InputArray m, OutputArrayOfArrays mv);//参数1(m):多通道图像
//参数2(mv):单通道图像数组

14,merge函数:通道合并

CV_EXPORTS_W void merge(InputArrayOfArrays mv, OutputArray dst)//参数1(mv):单通道图像数组
//参数2(m):多通道图像

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

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

相关文章

快速批量重命名:高效修改文件名并转换为大写扩展名

在文件管理中&#xff0c;批量重命名文件是一个常见的需求。通过快速批量重命名&#xff0c;我们可以高效地修改文件名并将扩展字母转换为大写形式。这样做不仅可以提高文件的可读性&#xff0c;还可以更好地组织和管理文件。用云炫文件管理器可以快速批量重命名&#xff0c;能…

k8s之pod进阶---资源限制与探针

目录 一、资源限制 二、探针&#xff08;健康检查&#xff09; 2.1 含义 2.2 探针的三种规则 2.3 probe支持三种检查方法 2.4 探针的示例 1、存活探针&#xff1a;livenessProbe &#xff08;1&#xff09;exec方式 &#xff08;2&#xff09;httpGet方式 &#xff08;…

如何使用ps制作ico图标文件

如何使用ps制作ico图标文件 Chapter1 如何使用ps制作ico图标文件Chapter2 ICOFormat.8bi&#xff08;Photoshop Ico、Cur插件&#xff09;的下载使用1. ICOFormat.8bi的作用2. ICOFormat.8bi使用 Chapter3 ps手机计算机图标教程,手绘设计精美手机APP软件图标的PS教程步骤 01 制…

目标检测中常见指标 - mAP

文章目录 1. 评价指标2. 计算示例3. COCO评价指标 1. 评价指标 在目标检测领域&#xff0c;比较常用的两个公开数据集&#xff1a;pascal voc和coco。 目标检测与图像分类明显差距是很大的&#xff0c;在图像分类中&#xff0c;我们通常是统计在验证集当中&#xff0c;分类正…

maven配置多仓库

配置多仓库不要用mirror&#xff0c;要用profile。 先将mirror全注释掉。 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-insta…

代码随想录图论并查集 第七天 | 685.冗余连接II

代码随想录图论并查集 第七天 | 685.冗余连接II 一、685.冗余连接II 题目链接&#xff1a;https://leetcode.cn/problems/redundant-connection-ii/ 思路&#xff1a;684.冗余连接中是连通且无环的无向图可直接使用并查集模板&#xff0c;如果想判断集合中是否有环&#xff0…

佳易王定制开发流水线商品标签自动打印软件,打印格式可定制

佳易王定制开发流水线商品标签自动打印软件&#xff0c;打印格式可以定制 软件特色&#xff1a; 定制试用商品标签打印管理V16.0&#xff0c;打印标签可以自动计算到期日期和品控日期&#xff0c;并打印品名、包装规格、生产日期、到期日期、储存条件、生产包装、品控日期等信…

阿里测试8年,肝到P8只剩他了····

在阿里工作了8年&#xff0c;工作压力大&#xff0c;节奏快&#xff0c;但是从技术上确实得到了成长&#xff0c;尤其是当你维护与大促相关的系统的时候&#xff0c;熬到P7也费了不少心思&#xff0c;小编也是个爱学习的人&#xff0c;把这几年的工作经验整理成了一份完整的笔记…

Spring Cloud智慧工地源码,利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术开发,微服务架构

智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术&#xff0c;以PC端&#xff0c;移动端&#xff0c;设备端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳务、设备、物料、安全、环境、能源、资料、计划、质量、视频监控等…

Python自动化运维监控——批量监听页面发邮件(自由配置ini文件+smtplib)

一、程序样式 1.listen.ini配置文件 2.监控页面 3.日志 二、核心点 smtplib库&#xff1a;这里使用了smtp.qq.com与smtp.163.com两个发送邮件的地址&#xff0c;使用邮箱用户名与授权码来实现登录&#xff0c;端口都使用465&#xff0c;最后抛出异常&#xff0c;finally里…

springboot的请求与响应

一&#xff0c;简单参数 Get请求&#xff1a;只需要在postman中的Params参数与方法中的形参一致就可以Post请求与Get方法一致只需要在 如果参数名不一致--通过RequestParam中的value属性执行请求参数名 RequestParam(name "name",required false) //表示name参数不是…

如何设计一个mysql的统计分析表?

在设计这样的MySQL统计分析表时&#xff0c;首先要明确所要收集的数据。我们至少需要以下几方面的数据&#xff1a; 病例ID&#xff0c;用于唯一标识每个病例。地区&#xff0c;即病例发生的地理位置。人群类别&#xff0c;比如儿童、青少年、成年人、老年人等。食源性级别&am…

react 性能优化之useCallback和useMemo的区别

useCallback缓存函数优化子组件减少渲染useMemo缓存返回值优化当前组件减少渲染

【CesiumJS】(1)Hello world

介绍 Cesium 起源于2011年&#xff0c;初衷是航空软件公司(Analytical Graphics, Inc.)的一个团队要制作世界上最准确、性能最高且具有时间动态性的虚拟地球。取名"Cesium"是因为元素铯Cesium让原子钟非常准确&#xff08;1967年&#xff0c;人们依据铯原子的振动而对…

【面经】什么是行锁/表锁,什么时候锁行/锁表

什么是行锁/表锁 行锁是指在事务执行期间&#xff0c;仅对数据表中的某一行(或某几行)加锁&#xff0c;其他行不受影响。 行锁适用于需要对表中部分数据进行修改或查询的情况。 它可以防止多个事务同时修改同一行数据&#xff0c;从而保证数据的一致性和完整性。 在大多数情况…

【实战Flask API项目指南】之三 路由和视图函数

实战Flask API项目指南之 路由和视图函数 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握 Flask 在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 当小菜踏入Flask后端开发的世界时&…

柯桥俄语考级培训,俄语专八如何备考

1.用好真题 真题一共分为&#xff1a;口语表述、听力、词汇语法句法、文学常识、国情、阅读理解、俄汉互译、作文等部分。 第一&#xff0c;要自己动手做真题&#xff0c;然后对答案&#xff0c;看错题错在什么地方&#xff0c;还有哪些知识点是盲区。 第二&#xff0c;分析每…

Android GB28181历史视音频回放

作为GB28181安卓客户端&#xff0c;实时视音频点播是必须支持的功能&#xff0c;对于历史视音频回放功能&#xff0c;不支持的话可以从设备上拷贝录像文件再播放&#xff0c;但有些场景没法拷贝&#xff0c;安卓支持回放还是需要的。 历史视音频的回放和实时视音频点播信令上很…

HTTP/HTTPS、SSL/TLS、WS/WSS 都是什么?

有同学问我&#xff0c;HTTP/HTTPS、SSL/TLS、WS/WSS 这都是些什么&#xff1f;那我们就先从概念说起&#xff1a; HTTP 是超文本传输协议&#xff0c;信息是通过明文传输。HTTPS 是在 HTTP 的基础上信息通过加密后再传输。SSL 是实现 HTTPS 信息传输加密的算法。TLS 是 SSL 的…

基于C语言实现扫雷小游戏

扫雷游戏 1. 扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析 2. 扫雷游戏的代码实现3. 扫雷游戏的扩展 1. 扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏 游戏可以通过菜单实现继续玩或者退出游戏 扫雷的棋…