当前位置: 首页 > news >正文

OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建

因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。

Windows平台OpenCV的Python开发环境搭建

1、Python 的下载与安装

Python是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,遵循GPL(General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进,强调“段落”形式,第一个公开版发行于1991年。

Python的万能之处在于能够把用其他语言制作的各种模块(尤其是C/C++制作的模块)很轻松地联结在一起,也常被称为“胶水语言”。常见的一种应用情形是使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分用更合适的语言改写,比如用C/C++重写,而后封装为Python可以调用的扩展类库。

人工智能技术的火热使得Python的支持库越来越丰富、强大。需要注意的是,在使用扩展类库时可能需要考虑平台问题,某些类库可能不提供跨平台的实现。下面简单介绍Python的下载和安装。

去Python官网下载Python https://www.python.org/

在这里插入图片描述
截止目前,Python已经更新到了3.11版本了。
Windows下找到64位的,这个根据自己的电脑配置而定。
在这里插入图片描述

以我下载的64位安装文件为例,把文件下载下来后双击文件名运行安装文件,打开安装界面,如图2-2所示。注意,勾选上最后一项Add Python 3.11 to PATH,可以把Python安装目录加入PATH环境变量中,再单击Install Now继续安装。

在这里插入图片描述

Python本身大小很小,所以我直接安在了C盘,选择默认的路径即可。

在这里插入图片描述
学过Python的人都知道,在cmd命令下>>>下直接输入代码后按回车键就可以立刻得到代码执行结果。试着输入“100+200”,再打印一下“hello,world”,如图所示:

在这里插入图片描述

最后,用exit()退出Python提示符。

2、在线安装OpenCV-python

Python安装完成后,我们可以继续搭建OpenCV开发环境。所谓在线安装,意思是安装过程中要连着外网(Internet),边下载边安装。

要用Python开发OpenCV程序,首先要为Python安装配置OpenCV开发包。安装Python相关功能包需要用到pip,它是一个通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。如果安装了Python 3.x,就会默认安装pip工具,其位置在Python的安装路径下。比如,我的Python包管理工具pip.exe的路径位于C:\Users\mjl\AppData\Local\Programs\Python\Python311\Scripts

这个路径是64位系统的,读者可以查找一下自己计算机pip.exe的路径。打开命令行窗口,输入“pip”,如果出现很多选项,就说明pip工作正常了,如图所示。

在这里插入图片描述
下面利用pip来安装OpenCV开发环境。安装OpenCV开发环境只需要下载NumPy、Matplotlib、opencv-python三个包。
其中,NumPy包是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Matplotlib包是Python中类似MATLAB的绘图工具,因为图像处理中有很多直方图统计之类的操作,所以选择了Matplotlib这个Python的第三方包。
安装NumPy和Matplotlib库,输入如下命令:

pip install numpy matplotlib

在这里插入图片描述
因为网络问题,这一步需要花点时间。

最后我们可以开始安装opencv-python了,输入如下命令:

pip install opencv-python

在这里插入图片描述
稍等片刻,opencv-python安装完成了,并且自动安装了当前比较成熟的最新版本,这里是4.。7.0.72。值得注意的是,不同时间段下载速度差异较大,强烈建议大家早上下载安装。至此,基于Python的OpenCV开发环境建立起来了,下面开始我们的第一个Python开发的OpenCV程序。可以使用记事本l来编辑这个程序。

在这里插入图片描述
在这里插入图片描述

保存成.py格式,双击运行即可。

首先利用import语句导入模块cv2(OpenCV是由很多个模块组成的,cv2是OpenCV中的一个基本模块)。使用as语法之后,只能通过as后面的名字来访问导入的模块,因此后面代码要用cv来代表cv2。
模块导入后,就可以使用cv2里的函数了。我们先利用函数cv.imread读取一个文件yd.jpg,该文件位于工程目录下(就是说和.py在同一目录下),cv.imread也可以传入一个绝对路径,比如d:\yd.jpg。

接着用函数imshow把图片显示在窗口中。函数waitKey用于等待用户按键,如果用户不按键,则图片窗口会一直显示,也就是函数waitKey一直处于阻塞状态不返回,直到用户按键才返回。waitKey结束后调用函数destroyAllWindows销毁所有窗口,这里就一个窗口,就是我们用namedWindow函数创建的窗口。

在这里插入图片描述
结果如图所示。运行成功,说明我们的opencv-python开发环境搭建成功了。

Windows平台PyCharm 下载与安装

和其他语言类似,Python程序的编写可以使用Windows自带的控制台进行,但是这种方式对于较为复杂的程序工程来说,容易混淆相互之间的层级和交互文件,因此在编写程序工程时建议使用专用的Python编译器PyCharm。

1、PyCharm的下载和安装

进入PyCharm官网的Download页面后可以选择不同的版本,如图所示,包括收费的专业版和免费的社区版。这里直接选择免费版本。
https://www.jetbrains.com/pycharm/

在这里插入图片描述

(2)文件下载下来后可以看到文件名为pycharm-community-2022。3.2.exe,双击运行进入安装界面,如图所示。选择好安装路径,直接单击Next按钮,安装即可。

或者按照下图指示安装。
在这里插入图片描述

在这里插入图片描述
安装完成后出现Finish按钮,单击该按钮安装完成,并重新启动计算机,如图2-15所示。

在这里插入图片描述

2.配置PyCharm开发OpenCV程序

单击桌面上新生成的图标进入PyCharm程序界面,首先是第一次启动的定位,如图所示。
创建一个新的工程,如图所示
在这里插入图片描述
进入界面配置选项,如图所示:

在这里插入图片描述

在这里插入图片描述
之后右击新建的工程名PyCharm,选择New→Python File命令新建一个helloworld.py文件,内容如图所示。

在这里插入图片描述

输入代码并单击菜单栏中的Run→run…运行代码,或者直接右击helloworld.py文件名,在弹出的快捷菜单中选择run命令。如果成功输出hello world,就表示PyCharm安装好了。

在这里插入图片描述
在这里插入图片描述
创建一个新项目后,在项目下执行OpenCV代码会有问题,提示CV2库找不到了。
在这里插入图片描述
此时需要对Python Interpreter做重新设置。

单击File→Setting,打开Setting窗口,如图所示,
在这里插入图片描述

单击左侧的Project:pythonProject→Python Interpreter菜单项,此时打开如图所示的Add Python Interpreter新窗口,选中Existing environment单选按钮,单击Interpreter项最右边的[插图]按钮,打开Select Python Interpreter窗口,按目录层次逐层查找Python开发包中的python.exe文件,找到后单击OK按钮,如图所示。

在这里插入图片描述

在这里插入图片描述

逐个窗口单击OK按钮,回到图所示的Setting窗口,在Python Interpreter中选择Python开发包中的python.exe文件作为解释器。此时,窗口上显示开发OpenCV程序所需要的开发包,如图2-24所示。单击OK按钮关闭配置窗口。

从图中可以看到,上面配置的Matplotlib、NumPy、opencv-python等开发包已经导入项目中,接下来就可以进行OpenCV编程了。

在这里插入图片描述
将照片放到工程目录下,用上面的代码:
在这里插入图片描述

在这里插入图片描述

编译完成!!

3.调试Python程序

导入事例代码:D:\mjl\Opencv4.5资料\图书资料\源码\0cd25082-1cfc-11ed-94cb-00163e36b535\OpenCV 4.5计算机视觉开发实战源码-ch02-ch14\OpenCV 4.5计算机视觉开发实战源码

和开发其他程序一样,Python程序有时候也需要调试,比如设置断点、运行到断点处、单步执行、监视某个变量等。

在PyCharm中单步调试Python程序非常简单,只需要设置好断点,单击鼠标所在的行,

然后按Shift+F9快捷键开始调试运行,接着就会执行到断点处,然后按Shift+F8快捷键开始单步执行(Shift+F7快捷键也可以单步执行,并且遇到函数还能进入函数里面执行),如图所示。
在这里插入图片描述

在窗口下方的Debug视图中,我们直接可以看到a这个变量的相关信息。通常,设置断点、单步执行、监视变量这三大手段用于调试基本够用了。

4.测试一下NumPy的数学函数

我们测试一下NumPy中的数学函数,看它是否能工作正常。

NumPy支持大量的维度数组与矩阵运算,并针对数组运算提供了大量的数学函数库,常用的数学函数如下:

· round(a, decimals=0, out=None):将小数a四舍五入到给定的小数位数。
· floor(a):取比小数a小的最大的整数,即向下取整。
· ceil(a):取比小数a大的最小的整数,即向上取整。其中,a可以是一个数字,也可以是一个数组.

import cv2 as cv  #导入cv模块
import numpy as np
a = np.array([1.0,5.55,  123,  0.567,  25.532]) 
print("np.round(2.6) : " , np.round(2.4))
print("np.round(a,1):",np.round(a,1))
print("np.round(2.8) : " , np.round(2.8))
print("cvFloor(2.5) : " , np.floor(2.5)) 
print("cvFloor(2.6) : " , np.floor(2.6)) 
print("cvCeil(2.5)  : " , np.ceil(2.5))
print("cvCeil(2.6)  : " , np.ceil(2.6)) 

在上述代码中,我们分别实验了round、floor和ceil的简单使用。

在这里插入图片描述

相关文章:

OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建 因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。 Windows平台OpenCV的Python开发环境搭建 1、Python 的下载与安装 Python是…...

3.查找算法:顺序查找和二分查找

查找查找,是指在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程。列表查找(线性表查找):从列表中查找指定元素输入:列表,待查找元素输出:元素下标(…...

攻不下dfs不参加比赛(七)

标题 为什么练dfs题目总结重点为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手…...

精确光度预测计算工具:AGi32 Crack

什么是AGi32? AGi32首先是一种用于精确光度预测的计算工具:一种技术工具,可以计算任何情况下的照度,协助灯具放置和瞄准,并验证是否符合任意数量的照明标准。 然而,要增强对光度学结果的理解,还…...

47个SQL性能优化技巧,看到就是赚到

1、先了解MySQL的执行过程 了解了MySQL的执行过程,我们才知道如何进行sql优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的…...

汇川SV660N与基恩士 KV7500 控制器调试说明

1. 伺服相关部分配置 1.1 伺服相关版本 SV660N 试机建议使用“SV660N-Ecat_v0.09.xml”及以上设备描述文件。 SV660N 单板软件版本建议为“H0100901.4”及更高版本号。 1.2 相关参数说明 SV660N 对象字典中 60FD 的含义较 IS620N 有所更改:bit0、1、2 分别为负限位…...

图观 | ChatGTP是如何通过知识图谱回答问题的?

文/Emma Z1950年,图灵发表了具有里程碑意义的论文《计算机器与智能》(Computing Machinery and Intelligence),提出了一个关于机器人的著名判断原则——图灵测试,也被称为图灵判断,它指出如果第三者无法辨别…...

Mysql的索引

为什么写这篇文章呢~最近在梳理公司的数据库,在查看表结构的时候发现了这个 CREATE TABLE esp_5_N (ID int(11) NOT NULL AUTO_INCREMENT,pId int(11) DEFAULT NULL,EsFileId varchar(32) DEFAULT NULL,obligate1 varchar(45) DEFAULT NULL,obligate2 varchar(45) …...

计算机的发展

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…...

理解Spring中的依赖注入和控制反转

依赖注入(Dependency Injection)是一种面向对象编程的设计模式,用于解决对象之间的依赖关系。它的基本思想是将对象的创建和管理工作交给容器来完成,而不是在应用程序中手动创建和管理对象,从而达到松耦合、易维护、易…...

XXL-JOB

XXL-JOB介绍 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官网:https://www.xuxueli.com/xxl-job/ 文档:分布式任务调度…...

「牛客网C」初学者入门训练BC134,​BC136​

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练 🔥座右铭:“不要等到什么都没有了,才下定决心去做” 🚀🚀🚀大家觉不错…...

华为OD机试题【翻转单词顺序】用 C++ 进行编码 (2023.Q1)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明翻转单…...

4.Spring【Java面试第三季】

4.Spring【Java面试第三季】前言推荐4.Spring27_Aop的题目说明要求Spring的AOP顺序AOP常用注解面试题28_spring4下的aop测试案例业务类新建一个切面类MyAspect并为切面类新增两个注解:spring4springboot1.5.9pom测试类29_spring4下的aop测试结果aop正常顺序异常顺序…...

ZLibrary使用说明-Zlirbrary

ZLibrary使用说明如果您是一位书虫,那么ZLibrary是一个值得一试的网站。该网站提供了大量的免费电子书籍,涵盖了各种不同的主题和类别。下面是一些有关如何使用ZLibrary的详细说明:第1步:访问ZLibrary网站要使用ZLibrary&#xff…...

TwinCAT3第三方伺服电机——汇川SV660N使用

目录 一、第三方伺服在TC3中配置和使用 二、xml文件拷贝 ​编辑 三、IO中扫描伺服 四、工程测试 五、汇川伺服参数设置说明 一、第三方伺服在TC3中配置和使用 在倍福控制系统中使用第三方伺服可以参见本人另一篇博客,有详细教程说明。本文仅仅对SV660N伺服设置…...

进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】

各种进制之间的相互转换1. 各进制表示数1.1 数码1.2 基数1.3 位权2. 十进制转换为其他进制2.1 整数部分2.2 小数部分3. 其他进制转换为十进制4. 二进制转换为八进制5. 二进制转换为十六进制6. 八进制转换为十六进制1. 各进制表示数 二进制:0,1逢二进一 八…...

谈谈XR关键技术及VR/AR/MR/XR关系

一、先别被VR/AR/MR/XR搞晕,说说区别虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)等业务以其三维化、自然交互、空间计算等完全不同于当前移动互联网的特性,被认为…...

acwing1562 微博转发(宽搜)

微博被称为中文版的 Twitter。 微博上的用户既可能有很多关注者,也可能关注很多其他用户。 因此,形成了一种基于这些关注关系的社交网络。 当用户在微博上发布帖子时,他/她的所有关注者都可以查看并转发他/她的帖子,然后这些人…...

如何使用Arsenal快速部署功能强大的Bug Bounty工具

关于Arsenal Arsenal是一个功能强大且使用简单的Shell脚本(Bash),该工具专为漏洞赏金猎人设计,在该工具的帮助下,我们可以轻松在自己环境中安装并部署目前社区中功能最为强大的网络侦查工具、漏洞扫描工具和其他安全研…...

(十)python网络爬虫(理论+实战)——正则表达式再讨论、常用正则表达式整理

系列文章目录 (1)python网络爬虫—快速入门(理论+实战)(一) (2)python网络爬虫—快速入门(理论+实战)(二) (3) python网络爬虫—快速入门(理论+实战)(三) (4)python网络爬虫—快速入门(理论+实战)(四) (5)...

MyBatis-Plus特性及插件整合

了解MyBatis-Plus 什么是MyBatis-Plus? mybatisPlus在mybatis的基础上继续针对CRUD操作进行优化,在原有的基础上提供了公共的接口BaseMapper,我们在创建接口Mapper时只需要继承这个接口即可调用MyBatisPlus已经提供好的方法,sql…...

应用篇|网络安全知识培训考试,答题小程序操作指引

网络安全知识培训考试,答题小程序操作指引关于全民防诈反诈宣传或者网络安全知识学习,如何进行组织一场微信线上答题考试?可以在小程序“护网专题信息安全知识竞答”,先创建一个学习单位/小组,再邀请成员加入单位/小组…...

官方不推荐@Autowired

1用lombok注解 2 构造器...

【牛客刷题专栏】0x0E:JZ6 从尾到头打印链表(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录前言问题…...

Zeppelin安装

1、下载Zeppelin 下载地址:Download 2.解压 [rootguo147 install]# tar -zxvf zeppelin-0.10.0-bin-all.tgz -C ../soft/ //修改文件名 [rootguo147 soft]# mv zeppelin-0.10.0-bin-all/ zeppelin 3.配置 //进入conf 目录 [rootguo147 conf]# pwd /opt/soft/zepp…...

【蓝桥杯选拔赛真题38】python目标值判断 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python目标值判断 一、题目要求 1、编程实现 2、输入输出 二、解题思路...

Python jieba分词如何添加自定义词和去除不需要长尾词

Python jieba分词如何添加自定义词和去除不需要长尾词 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 通过如下代码,读取一个txt的高频词汇: # 找到高频词汇t…...

云打包苹果证书生成、上架和应用截屏攻略

在使用apicloud或hbuilderx这些跨端的开发工具开发移动应用的时候,假如是打包ios应用,是需要生成苹果证书、证书profile文件,和对应用上架的。首先要普及一个概念,苹果的应用是无法像安卓那样挂在自己的服务器上下载直接安装就可以…...

洛谷 U91193:棋盘覆盖问题 ← 分治法

【题目来源】https://www.luogu.com.cn/problem/U91193【问题描述】 在一个2^k * 2^k(k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格。现在用4种不同形状的 L型(占3小格)骨牌覆…...

基于OMAPL138+FPGA核心板多核软件开发组件MCSDK开发入门(下)

本文测试板卡为创龙科技 SOM-TL138F 是一款基于 TI OMAP-L138(定点/浮点 DSP C674x + ARM9)+ 紫光同创 Logos/Xilinx Spartan-6 低功耗 FPGA 处理器设计的工业级核心板。核心板内部OMAP-L138 与 Logos/Spartan-6 通过 uPP、EMIFA、I2C 通信总线连接,并通过工业级 B2B连接器引…...

熵,线性规划,半监督自监督聚类打标签

1.熵 信息熵是消除不确定性所需信息量的度量。 信息熵就是信息的不确定程度,信息熵越小,信息越确定。 对象的信息熵是正比于它的概率的负对数的,也就是 I©−log(pc) 其中n为事件的所有可能性。 为什么使用交叉熵?在机器学习…...

求极限方法总结

1.利用四则运算法则求极限 2.利用两个重要极限求极限 //0除以0型 //1的无穷次方型 3.利用等价无穷小替换替换求极限 //在等价替换时注意和差项 4.利用洛必达法则求极限 5.利用夹逼准则求极限 6.利用单调有界数列极限准则求极限 7.利用无穷小的性质求极限 8.利用函数的连续性…...

Flutter Scrollable 中ViewPort滚动原理

关于Flutter Sliver组件内容可以参考下面这位博主博客,写的已经非常好了,这里就不再赘述。 38、Flutter之 可滚动组件简介_flutter 可滑动_风雨「83」的博客-CSDN博客 通过阅读上面的博客,我们已经知道了Scrollable和Viewport基础概念&#…...

多目标粒子群结合极限学习机ELM求解帕累托前沿,MOPSO-ELM

目录 背影 parte前沿的定义 注意事项 基于多目标粒子群结合极限学习机的帕累托前沿求解帕累托前沿 主要参数 MATLAB代码 效果图 结果分析 展望 背影 在目标优化过程种,很多时候都两个或者多个目标,并且目标函数不能同时达到最优,鱼与熊掌不可兼得,这个时候可以通过求解帕…...

(二十)操作系统-信号量机制

文章目录一、知识预览二、前篇文章知识点回顾三、信号量机制四、信号量机制—整形信号量五、信号量机制—记录型信号量六、总结一、知识预览 二、前篇文章知识点回顾 进程互斥的四种软件实现方式:单标志法、双标志先检查、双标志后检查、Peterson算法。(…...

ceph osd slow ops 检测

目的 常用的方法检测 ceph slow 问题 参考 yceph -scluster:id: 22908555-e596-4c2d-a1f6-34fcf4d3e935health: HEALTH_WARNDegraded data redundancy: 46384/12805029 objects degraded (0.362%), 145 pgs degraded, 122 pgs undersized309 slow ops, oldest one blocked…...

百度CTO王海峰:深度学习平台+大模型,夯实产业智能化基座

2月27日,中国人工智能学会首届智能融合产业论坛在成都顺利举办。本届论坛由中国人工智能学会(CAAI)主办,中国人工智能学会智能融合专委会、百度公司、深度学习技术及应用国家工程研究中心和电子科技大学联合承办。中国工程院多名院…...

【C++】vector的基本使用

难道向上攀爬的那条路,不是比站在顶峰更让人热血沸腾吗? 文章目录一、vector和string的联系与不同二、vector的扩容操作1.resize() (缺省值为匿名对象)&& reserve()2.reserve在g和vs上的扩容机制3.reserve异地扩容和shri…...

社交媒体营销的5个好处

有些人认为,社交媒体营销不能直接与销售挂钩。这就是为什么在制定营销策略时,社交媒体营销会被部分人忽视的原因。然而,与其他广告渠道不同,社交媒体是双向渠道。忽视社交媒体营销将影响与客户的关系。最重要的是,它将…...

飞行机器人专栏(十)-- 异构多视角视觉系统

感知系统架构为满足天空端主控制器的诸如RGB-D图像处理等大容量数据吞吐、高速并行计算、实时运动控制以及通信和可视化任务的计算算力需求,同时优化功耗表现,采用了结构紧凑、功耗表现优异的边缘计算硬件NVIDA IJetson AGXOrin 。该开发者套件包含高性能…...

2023年湖北住建厅八大员各岗位题库精准小题库-启程别

2023年湖北住建厅八大员各岗位题库精准小题库-启程别 住建厅八大员(施工员、质量员、资料员、材料员、机械员、标准员、劳务员) 各岗位题库分2种: 1.住建厅八大员报名之后会有培训任务,完成培训任务学习才能安排考试,…...

志愿者招募令|来!一起Build OceanBase第一次开发者大会

2023 年 3 月 25 日,我们将开启第一次 OceanBase 开发者大会,走近开发者,共同探讨单机分布式、云原生、HTAP 等数据库前沿趋势,分享全新的产品 Roadmap,交流场景探索和最佳实践。 为了让活动现场更有活力,…...

java 元数据 和 元注解

基本介绍三种基本注解OverrideDeprecatedSuppressWarnings四种元注解RetentionTargetDocumentedInherited一、基本介绍1.概述java注解(Annotation)[ˌ nəˈ teɪʃn],又称java标注,也被称为元数据(关于数据的数据&…...

RFID射频卡写入手机NFC心路小记

声明: 本文仅是作者学习探索的心里路程日记,如果您看完以后,从中获得了一些知识,作者不胜荣幸。科技是一把双刃剑,利用好了,可以方便生活,利用不当也肯能扰乱公共管理秩序,造成不必要…...

【C++】STL 模拟实现之 list

文章目录一、list 的常用接口及其使用1、list 一般接口2、list 特殊接口3、list 排序的性能分析二、list 迭代器的实现1、迭代器的分类2、list 迭代器失效问题3、list 迭代器源码分析4、list 迭代器模拟实现4.1 普通迭代器4.2 const 迭代器4.3 完整版迭代器三、list 的模拟实现…...

20230228----重返学习-数组-引用数据类型的转换-基础调试用方法-对象检测-各数据转布尔值及相等运算符-条件语句-循环语句

day-017-seventeen-20230228-数组-引用数据类型的转换-基础调试用方法-对象检测-各数据转布尔值及相等运算符-条件语句-循环语句 数组 字面量表示法 [数组成员0,数组成员1,数组成员2]用中括号语法来取值 var ary [5,6,7] console.log("ary[0]--->", ary[0])数组…...

apscheduler 定时任务框架

Apscheduler 介绍 四大组件 triggers:触发器,用于设定触发任务的条件job stores:作业存储器,用于存放任务,可以存放在数据库或内存,默认内存executors:执行器,用于执行任务&#x…...

Softing OPC Tunnel——绕过DCOM配置实现OPC Classic广域网通信

一 摘要 Softing OPC Tunnel是dataFEED OPC Suite的一个组件,可避免跨设备OPC Classic通信中出现的DCOM配置问题,同时可保证跨网络数据交换的高性能和可靠性。OPC Tunnel内部集成的存储转发功能,可在连接中断时缓存数据,并在重新…...

Java的运算操作

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 文章目录算术运算符增量运算符注意自增自减运算符关系运算符逻辑运算符逻辑与&&逻辑或||逻辑非!…...