STM32开发(五)STM32F103 通信 —— CAN通信编程详解
文章目录
- 一、基础知识点
- 二、开发环境
- 1、硬件开发准备
- 2、软件开发准备
- 三、STM32CubeMX相关配置
- 1、STM32CubeMX基本配置
- 2、STM32CubeMX CAN相关配置
- 四、Vscode代码讲解
- 五、结果演示
- CAN 内部回环测试
- CAN 正常模式测试
- 使用ADALM2000分析工具解析CAN时序
一、基础知识点
了解CAN通讯协议以及CAN 协议及标准规格 。本实验是基于STM32F103开发的CAN通信,来一起研究下STM32数据手册 中CAN的特色。
准备好了吗?开始我的show time。
二、开发环境
1、硬件开发准备
主控:STM32F103ZET6
CAN收发器:TJA1040T
2、软件开发准备
软件开发使用虚拟机 + VScode + STM32Cube 开发STM32,在虚拟机中直接完成编译下载。
该部分可参考:软件开发环境构建
三、STM32CubeMX相关配置
1、STM32CubeMX基本配置
本实验基于CubeMX详解构建基本框架 进行开发。
2、STM32CubeMX CAN相关配置
(1)时钟配置
由于CAN在APB1时钟线上,APB1时钟配置36M
(2)配置CAN参数
- 开启主CAN配置
- 位时序配置
位时序顾名思义就是传输一个位的时序(如0或1)。位时序结构:同步段(SYNC_SEG)、时间段1(BS1)、时间段2(BS2)
假j把CAN的时钟配置为500KHz
(1)将系统时间36M进行4分频,则36M/4 = 9M
(2)位时序中同步段(SYNC_SEG)固定1Tq;STM32时间段1(BS1)包含两部分:传播时间段和相位缓冲时间段1,可以分配11Tq;时间段2(BS2)包含相位缓冲时间段2,可以分配6Tq。
这样1位由18个 Tq 构成,则9M/18 = 500K
按照以上的配置可以实现CAN 500K通信。
-
基本模式配置
根据自己需要进行配置,这里实验都不需要,直接disable关掉
自动重发数据:若使能,数据出错了可以重新发送数据
接收FIFO锁定模式:若使能,FIFO数据不可以重叠,更替
发送FIFO优先级:若关闭,就按照邮箱的优先级来发送数据;若使能,就按照自己设定的优先级发送。 -
CAN工作模式配置
模式选择:正常模式、静默模式、环回模式、环回静默模式。
实验选用正常模式、环回模式测试CAN通信。 -
中断模式配置
在NVIC Settings选项卡中将CAN接收中断使能打开
设置中断优先级
四、Vscode代码讲解
1、构建一个can相关结构体
//定义结构体类型
typedef struct
{uint32_t CAN_Work_Mode; // CAN 工作模式uint8_t tx_buff[8]; // 发送缓存uint8_t rx_buff[8]; // 接收缓存void (*Mycan_Init)(void); // CAN 初始化 uint8_t (*Mycan_Send_Message)(uint8_t *p_tx_buff, uint32_t *pMycan_MAILBOX_Num); // 发送信息void (*Mycan_recevie_Message)(uint8_t *p_rx_buff); // 接收信息uint8_t RX_status_Flag; // 接收标志位
} Mycan_t;
2、定义can结构体
Mycan_t Mycan ={CAN_MODE_NORMAL, // 正常接收发送模式{0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77},{0},Mycan_Init, Mycan_Send_Message,Mycan_recevie_Message,FALSE // 默认没有接收到信息
};
3、初始化CAN
(1)can过滤器配置
FilterBank:要配置的过滤器0(芯片一共14个,0-13)
FilterMode:选用标识符屏蔽模式(可以接收一组ID),若选择列表模式,只能接收一个特定的ID
FilterFIFOAssignment:将配置的过滤器0关联到FIFO0
FilterActivation:激活过滤器,若不激活接收不到任何数据
(2)使能接收挂起中断
在STM32CubeMX里面是时钟了接收的总中断,这里使能的是总中断下的挂起中断
CAN接收中断包括:挂起中断(只要有信息就触发中断)、满中断(FIFO都满了触发中断)、溢出中断(只有FIFO都满后还接收到数据就会触发中断)
(3)启动CAN
void Mycan_Init(void){CAN_FilterTypeDef Mycan_Filter;// 配置过滤器Mycan_Filter.FilterIdHigh = 0x34; // 过滤器需要过滤高IDMycan_Filter.FilterIdLow = 0x00; // 过滤器需要过滤低IDMycan_Filter.FilterMaskIdHigh = 0x00; // 过滤器掩码 '0'位不限制 Mycan_Filter.FilterMaskIdLow = 0x00; // 过滤器掩码 '0'位不限制Mycan_Filter.FilterFIFOAssignment = CAN_FILTER_FIFO0; // 挂在过滤器FIFO0Mycan_Filter.FilterBank = 0; // 过滤器0Mycan_Filter.FilterMode = CAN_FILTERMODE_IDMASK; // ID掩码模式Mycan_Filter.FilterScale = CAN_FILTERSCALE_16BIT; // 16位过滤器Mycan_Filter.FilterActivation = CAN_FILTER_ENABLE; // 激活过滤器Mycan_Filter.SlaveStartFilterBank = 14; // 配置过滤器if (HAL_CAN_ConfigFilter(&hcan, &Mycan_Filter) != HAL_OK){printf("DWB --- can配置过滤器失败\n");System.Error_handler();}// 使能FIFO接收到一个新报文中断if(HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING) != HAL_OK){printf("DWB --- can使能接收挂起中断失败\n");System.Error_handler();}if(HAL_CAN_Start(&hcan) != HAL_OK){printf("DWB --- can开启失败\n");System.Error_handler();}printf("DWB --- can配置并开启成功!\n");}
4、CAN发送
(1)CAN发送数据时序配置
定义发送时序参数,通过HAL_CAN_AddTxMessage函数发送数据到邮箱
(2)等待发送数据成功
延时1s时间,1s内反复通过HAL_CAN_GetTxMailboxesFreeLevel函数检查空邮箱的个数。如果空邮箱个数等于3,则说明数据已经发送成功。
uint8_t Mycan_Send_Message(uint8_t *p_tx_buff, uint32_t *pMycan_MAILBOX_Num){CAN_TxHeaderTypeDef Mycan_TxHeader;// 配置发送头Mycan_TxHeader.StdId = 0x34; // 发送设备标准IDMycan_TxHeader.ExtId = 0x00; // 扩展IDMycan_TxHeader.IDE = CAN_ID_STD; // can标准ID模式Mycan_TxHeader.RTR = CAN_RTR_DATA; // 数据帧Mycan_TxHeader.DLC = 8; // 传输长度8Mycan_TxHeader.TransmitGlobalTime = DISABLE; // 时间戳 不使能// 发送数据到邮箱并判断状态if(HAL_CAN_AddTxMessage(&hcan, &Mycan_TxHeader, p_tx_buff, pMycan_MAILBOX_Num) != HAL_OK){printf("DWB --- 发送数据到邮箱失败\n");return send_date_fail;}uint8_t rtc_seconds_t = Myrtc.pMyrtc_current_time->Seconds+1;do{if(rtc_seconds_t == Myrtc.pMyrtc_current_time->Seconds){printf("DWB --- 数据未发出 \n");return send_date_fail;}} while (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) != 3);printf("DWB --- 数据发送成功 \n\r");return send_date_success;}
5、主函数中调用发送接收函数
(1)调用结构体CAN发送函数成员进行数据发送
(2)通过RX_status_Flag标识符判断是否接收到数据,后调用Mycan_recevie_Message接收
res = Mycan.Mycan_Send_Message(Mycan.tx_buff, &MailBox_num);printf("DWB --- MailBox_num = %ld\n\r", MailBox_num);if(!res && TRUE == Mycan.RX_status_Flag){Mycan.Mycan_recevie_Message(Mycan.rx_buff);Mycan.RX_status_Flag = FALSE;}
6、CAN接收中断函数
在初始化中CAN使能接收挂起中断。当有接收到数据就会调用中断函数
__weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
这个函数是弱函数,直接重构就好了。
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan_t)
{CAN_RxHeaderTypeDef pMycan_tx_Head;// HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo, CAN_RxHeaderTypeDef *pHeader, uint8_t aData[]);if (HAL_CAN_GetRxMessage(&hcan, CAN_RX_FIFO0, &pMycan_tx_Head, Mycan.rx_buff) == HAL_OK)Mycan.RX_status_Flag = TRUE;
}
调用HAL_CAN_GetRxMessage函数接收数据,这里数据从CAN_RX_FIFO0中读取。
为什么是FIFO0呢?因为在初始化过滤器的时候将其关联到FIFO0上。
解析接收的过程
中断初始化中,使能USB_LP_CAN1_RX0_IRQn CAN接收中断
static void MX_NVIC_Init(void)
{/* RTC_Alarm_IRQn interrupt configuration */HAL_NVIC_SetPriority(RTC_Alarm_IRQn, 1, 0);HAL_NVIC_EnableIRQ(RTC_Alarm_IRQn);/* USB_LP_CAN1_RX0_IRQn interrupt configuration */HAL_NVIC_SetPriority(USB_LP_CAN1_RX0_IRQn, 2, 0);HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn); // can接收总中断使能
}
CAN初始化中使能接收挂起中断
// 使能FIFO接收到一个新报文中断if(HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING) != HAL_OK){printf("DWB --- can使能接收挂起中断失败\n");System.Error_handler();}
CAN接收数据时,
(1)触发USB_LP_CAN1_RX0_IRQHandler回调函数
void USB_LP_CAN1_RX0_IRQHandler(void)
{/* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 0 *//* USER CODE END USB_LP_CAN1_RX0_IRQn 0 */HAL_CAN_IRQHandler(&hcan);/* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 1 *//* USER CODE END USB_LP_CAN1_RX0_IRQn 1 */
}
(2)在HAL_CAN_IRQHandler函数中判断中断标志位为CAN_IT_RX_FIFO0_MSG_PENDING(挂起中断,在初始化中使能挂起中断)
USE_HAL_CAN_REGISTER_CALLBACKS宏定义为0,则调用HAL_CAN_RxFifo0MsgPendingCallback回调函数(这个函数是弱化函数,重构该函数之后就会调用重构函数)
void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
{....../* Receive FIFO 0 message pending interrupt management *********************/if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U){/* Check if message is still pending */if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U){/* Receive FIFO 0 message pending Callback */
#if USE_HAL_CAN_REGISTER_CALLBACKS == 1/* Call registered callback*/hcan->RxFifo0MsgPendingCallback(hcan);
#else/* Call weak (surcharged) callback */HAL_CAN_RxFifo0MsgPendingCallback(hcan);
#endif /* USE_HAL_CAN_REGISTER_CALLBACKS */}}......
}
五、结果演示
CAN 内部回环测试
代码设置回环测试,can自发自收。
串口打印发送成功后接收到的数据内容以及发送邮箱号。
CAN 正常模式测试
代码模式配置为正常模式
两块板子CAN相互通信背景:用另一块STM32开发板上的CAN通信与本实验中的板子CAN(打印信息有DWB)通信。
实验板子CAN发送(左图),STM32开发板CAN接收(右图)。两个板子CANH对应相连;CANL对应相连。
实验板子CAN接收(左图),STM32开发板CAN发送(右图)。两个板子CANH对应相连;CANL对应相连。
使用ADALM2000分析工具解析CAN时序
整体波形:
开始帧(1位)
右下角,传输1位的时间为1.998μs,和软件里配置的时间1999.99ns时间一致(500000Hz)
设备ID位(标准帧ID 11位)
解析出来的配置为0x34与软件配置一致(00000110100)
注:由于位补充(在发送数据帧和遥控帧时, SOF~CRC 段间的数据,相同电平如果持续 5 位,在下一个位(第 6 个位)则要插入 1 位与前 5 位反型的电平)的原因,中间有插入一个补充位1(绿色1)
RTR(1位数据帧)、IDE(1位标准ID模式)、RB0(保留位)、数据长度码(8位)
由于连续5位0,则中间添加补充位1
数据(8个字节)
CRC(校验位15位)、CRC d(CRC 界定符(用于分隔的位)1位)、ACK(用来确认是否正常接收2位)
结束帧
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4925926.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
《C#零基础入门之百识百例》(四十四)静态类 -- 温度单位转换
C#零基础入门 类和对象 -- 静态类 -- 温度转换 前言一,静态类1.1 静态构造函数1.2 遵守规则二,实例练习 -- 温度单位转换2.1 题目描述2.2 问题分析2.3 参考代码前言 本文属于C#零基础入门之百识百例系列文章。此系列文章旨在为学习C#语言的童鞋提供一套系统的学习路径。此系列…...

android html 转pdf,通过wkhtmltox工具将html文件转为pdf文件
部署方案包括wkhtmltox工具(命令),和php的wkhtmltox扩展。1 部署wkhtmltox工具,rpm包方式。yum服务器配置也可以参考那帖子。yum install xorg-x11-fonts-75dpi.noarchrpm -ivh wkhtmltox-0.12.2.1_linux-centos6-amd64.rpmphp 扩展位置得到php-wkhtmlto…...

帝国CMS采集插件哪个好用?帝国CMS采集文章教程
为什么要用帝国CMS采集?如何利用帝国CMS采集让网站收录以及关键词排名。一个网站更新频率越高,搜索引擎蜘蛛就会来得越勤。所以我们可以借助帝国CMS采集实现自动采集伪原创发布以及主动推送给搜索引擎,来提高搜索引擎抓取的频次从而提高网站收…...

oracle实验环境怎么写,最简单ORACLERAC试验环境搭建
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 一台物理,要求CPU支持虚拟化,内存大点,安装RHEL 5.5 ,安装时采用LVM。 采用KVM虚拟2台机器,rac1,rac2 虚拟机LV划分 划分一个10G的空间给虚拟…...

java input是什么意思_[Java教程]input框中的value值到底是什么
[Java教程]input框中的value值到底是什么0 2016-11-16 12:00:09value 属性为 input 元素设定值。对于不同的输入类型,value 属性的用法也不同:type"button", "reset", "submit" - 定义按钮上的显示的文本type"text&q…...

关于线段树基础
首先明白什么是线段树: 线段树是一棵二叉树,每个节点表示序列上的一段区间,其中根节点表示区间[1,n]从根节点开始,只要区间长度不为1,就将区间划分为两半,并分给两个子结点 如下图,就是n=8的线段树: 当节点表示区间[l,r],当l≠r时,左孩子表示[l,(l+r)/2],右孩子表示…...

redis的简单使用命令
简介 redis是一种高级的key:value存储系统,其中value支持五种数据类型: 1.字符串(strings) 2.字符串列表(lists) 3.字符串集合(sets) 4.有序字符串集合(sorted sets&am…...

python结束函数_python结束函数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python3 函数函数文字定义:函数是组织好的,可重复使用的,用来实现单一&a…...

SMFL 教程个人笔记
这是 SFML 官方教程的翻译&笔记 涉及的模块有 系统模块 窗口模块 图形模块本文大部分来自官方教程的Google翻译 但是加了一点点个人的理解和其他相关知识 转载请注明 原文链接 :https://www.cnblogs.com/Multya/p/16273753.html 官方教程: https://www.sfml-dev.org/tuto…...

感触很深的诗句,转自天涯
作者:badboy7360 提交日期:2008-7-16 15:49:00 纵使相逢应不识,尘满面,鬓如霜。(从第一句开始就结结实实沉浸在苏轼营造的伤感气氛里出不来了。)此情可待成追忆,只是当时已惘然。ÿ…...

清除浮动的最常用的四种方法
为什么要清除浮动? 清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题 清除浮动的方法(最常用的4种) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&…...

医学影像公开数据集
1、肝脏肿瘤分割挑战数据集(LiTS - Liver Tumor Segmentation Challenge) 由于肝脏的异质和扩散形态,肿瘤病变的自动分割是很有挑战的。通过增强腹部CT扫描获得数据,分割标准结果是由世界各地临床站点提供。训练数据集有130例和测…...

raid5服务器安装系统,服务器安装系统配置raid5
服务器安装系统配置raid5 内容精选换一换TE10/20浏览器登录终端Web界面。在“系统配置-网络-服务器设置”中,云服务的“云平台类型”选择成“手动”,检查SIP信息是否完成。如果完成,将SIP的“注册服务器”改成“禁用”后保存。然后再“启用”…...

椭圆函数基础介绍
椭圆函数是一类超越函数,在基础数学中,有三类超越函数,分别是指数函数,对数函数,和三角函数(圆函数),在高等数学中又引进了一类函数叫做椭圆函数,为什么在高等数学中引入…...
在配置spring配置文件时报错,解决办法
好久没在这上面记东西了,把以前遇到的问题整理一下贴出来,希望给同样遇到问题的朋友们一点帮助 1、配置sping配置文件时,一直报错,原来是在头部没有声明context前缀: 2、进行配置时,产生如下错误ÿ…...

整理一份PHP高级工程师面试题
**1. 基本知识点** 表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者…...

DFS思想及例题
所谓暴力法(Brute force),是把所有可能的情况都罗列出来,然后逐一检查,从中找到答案。这种方法简单、直接,不玩花样,利用了计算机强大的计算能力。 暴力法也往往是“低效”的代名词。不过相对其…...

NPN PNP 接近开关
...

使用python语言在linux系统解压文件
近期在做日志分析功能,需要解压大量的文件,文件的情况比较复杂,包括大文件,文件类型多,压缩文件中含压缩文件。使用python在linux平台解压文件的方法比较多,下面一一介绍: 1.方案1,使…...

目前流媒体开发工程师工作主要是做什么?
目前音视频方向的岗位主要有4类: 生产端消费端流媒体服务端音视频算法 目前主要说的是流媒体工程师需要的技能,所以生产、消费、算法暂时不说。 流媒体服务端 擅长语言C/C/Golang; 熟悉网络编程、Linux内核网络模块,TCP/IP、U…...

【网络安全】文件上传绕过思路总结
硬怼 【技术资料】 硬怼的话,主要是从下面这些方法入手去操作。 (1)fuzz后缀名 看看有无漏网之鱼(针对开发自定义的过滤可能有机会,针对waf基本不可能。更多的情况是php的站寻找文件包含或者解析漏洞乃至传配置文件一…...

【Python语言基础】——Python 数字
文章目录 一、Python 数字把整数转换为浮点数把浮点数转换为整数把整数转换为复数:一、Python 数字 Python 数字 Python 中有三种数字类型: int float complex为变量赋值时,将创建数值类型的变量: 实例 x = 10 # int y = 6.3 # float z = 2j # complex 如需验证 Python…...

gob编解码
要让数据对象能在网络上传输或存储,我们需要进行编码和解码。现在比较流行的编码方式有JSON,XML等。然而,Go在gob包中为我们提供了另一种方式,该方式编解码效率高于JSON。gob是Golang包自带的一个数据结构序列化的编码/解码工具 源和目的地值…...

腾讯地图点聚合自定义标注
//自定义DefaultClusterRenderer class CustomIconClusterRenderer extends DefaultClusterRenderer<MarkerClusterItem> {public CustomIconClusterRenderer(Context context, TencentMap tencentMap, ClusterManager<MarkerClusterItem> clusterManager) {super(…...

解决 vue $bus.emit 第一次点击不触发事件
场景:兄弟组件传值,点击A组件下方pushB组件路由,第一次点击时不能传参 由于on在on 在on在emit后面执行,所以在emit执行时 没有on来接受参数,导致第一次触发时不能执行 解决方式: 先加载B组件,…...

微信小程序的轮播图宽高
https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html...

135 最大子序和(单调队列优化)
1. 问题描述: 输入一个长度为 n 的整数序列,从中找出一段长度不超过 m 的连续子序列,使得子序列中所有数的和最大。注意: 子序列的长度至少是 1。 输入格式 第一行输入两个整数 n,m。第二行输入 n 个数,代表长度为 …...

AndroidStudio安卓原生开发_UI控件_Spinner用法_下拉选择框---Android原生开发工作笔记100
容器控件,每一项都是一个控件. spinner是下拉列表控件 这个spinner控件是继承至viewgroup,因为他需要容纳多个小控件 首先我们去定义一个字符串数组,资源 先去升级了一下androidstudio,最好用最新版本吧.然后继续做...

Apache Shiro 还不兼容 Jarkarta 命名空间 即最新默认的springboot tomcat10 版本目前不支持 shiro
只能将springboot 内置的tomcat 进行版本降级 1、直接在pom.xml中覆盖默认的版本 同理 spring-web 需要降级的地方也要降级 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><ve…...

Linux 环境查看命令
一、基础环境 1.服务器参数检查 (1)检查服务器版本及日期时间 ①cat /etc/redhat-release [rootlocalhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.8 (Maipo)②date (2)检查服务…...

主管发话:一周搞不定用友U8 ERP跨业务数据分析,明天就可以“毕业”了
随着月末来临,又到了汇报总结的时刻。(图片来自网络) 到了这个特殊时期,你的老板就一定想要查看企业整体的运转情况、销售业绩、客户实况分析、客户活跃度、Top10 sales、 产品情况、订单处理情况等信息。 对业务有一定了解的同学就会明白,整理出这些内容需要跨业务、跨功…...

HTML初学笔记——字节青训营
什么是前端 ? 解决GUI人机交互问题 跨终端 pc/移动浏览器 客户端/小程序 vr/ar等 web技术栈 前端应该关注哪些方面? 功能 美观 安全 兼容 体验 性能 无障碍 Html是什么? HyperText Markup Language HyperText 图片,链接࿰…...

Assignment | 05-week1 -Improvise a Jazz Solo with an LSTM Network
该系列仅在原课程基础上课后作业部分添加个人学习笔记,如有错误,还请批评指教。- ZJ Coursera 课程 |deeplearning.ai |网易云课堂 CSDN:http://blog.csdn.net/JUNJUN_ZHAO/article/details/79420913 Welcome to your final programming assi…...

Android如何优雅地实现ListView加载更多功能(1)
利用ListView的分类型Item功能实现加载更多功能 RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势。所以你可能会感觉,现在还谈ListView显得有点老套,技术有点out了。但是,…...

centos7 如何重启web服务_centos7 怎么重启网络配置
展开全部1. 首先找到网关32313133353236313431303231363533e78988e69d8331333365666161:打开虚拟机,“编辑”-“虚拟网络编辑器”,即可看到各个信息2. 查看dns:输入:cat/etc/resolv.conf(一般都是114.114.114.11…...

金融风控 Task02
查看数据集中特征缺失值,唯一值 具体的查看缺失特征及缺失率 查看训练集测试集中特征属性只有一值的特征 查看特征的数值类型有哪些,对象类型有哪些 特征一般都是由类别型特征和数值型特征组成,而数值型特征又分为连续型和离散型。 类别…...

其实你距离PHP高级工程师只有一步之遥!
平静的心态 要写一手好的程序,没有好的心态是不行的。遇事不可急躁,不可轻言放弃。在程序开发过程中,尤其是初中级程序员,写出的程序或架构会遇到很多问题,其中一些问题比较弱智,而有些问题根本没有碰到过&…...

陪玩源码,根据用户需求和功能开发搭建
根据用户需求确定开发功能 陪玩源码的开发会涉及到很多功能模块,根据市场定位和用户需求的不同,功能模块的开发自然也是不同的,其中像游戏约单、多人语音聊天室等功能是比较受现代年轻人喜爱的,在开发时就可以着重这些功能的开发…...

最适合初学者编写的完整指纹锁代码
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、完整代码总结前言 以下为该新手指纹锁的完整代码 一、完整代码 //本产品通过串口进行录入指纹,输入对应数字即可(从学习Arduino到完成此产品耗时整整一周) //输入66清空指纹库 //该指…...

python-函数-圆形生成器
请大家严格按照下面顺序编写圆形生成器程序: 定义函数getCircleArea。功能:可对指定r计算圆面积。请使用公式math库的pirr进行计算。 定义函数get_rList(n)。功能:输入n个值放入列表并将列表return。 输入n,调用get_rList(n)获得…...

易语言游戏基址内存数据CEAA自动汇编脚本注入及CALL的调用
对于汇编基础稍弱的同学来说,CEEAA自动汇编是一个部错的选择,以CE为工具,以脚本注入为主,采用CEAA自动汇编,利于易语言调用自动 汇编脚本注入游戏,实战了各种汇编技巧,易语言注入调用汇编的各种…...

Centos下KVM实战tar和qemu-img压缩qcow2格式的磁盘文件迁移
压缩办法(推荐方法): qcow2是稀疏格式的文件,直接传会填充0到创建时声明的大小, tar的-S参数用于处理稀疏格式的文件 所以可以使用 tar zcvfS apk-7.2.tar.gz apk-7.2.qcow2 apk-7.2.xml解压命令: tar …...

毕设支付接口免签
个人支付免签系统 Api 版 项目说明: 支持个人网站、安卓App、微信公众号、Pc软件收款的接入,所有的资金都会实时到账您的支付宝/微信余额中,支付宝无需上传收款二维码,支持H5唤醒支付,支持回调通知、支持补单、后台功…...

centos7部署gitlab社区版 gitlab报502错误
一、 安装并配置必要的依赖关系 在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。 1.安装Postfix以发送通知邮件,安装命令:…...

kotlin中常用的高阶函数
在Kotlin中,高阶函数即指:将函数用作一个函数的参数或者返回值的函数 TODO函数 此函数的作用:显示抛出NotImplementedError错误。NotImplementedError错误类继承至Java中的Error public class NotImplementedError(message: String "…...

Redis(1)- Redis数据库的安装和配置
1.Redis安装 1.1.Linux环境安装Redis step-1:下载Redis 进入官网找到下载地址 https://redis.io/downloadwget https://github.com/redis/redis/archive/7.0.0.tar.gz step-2:解包tar -zvxf 7.0.0.tar.gz step-3:编译cd redis-7.0.0make step-4:安装make install step-5(方…...

PowerJob源码学习笔记
*******************************PowerJob学习********************************************************* 服务端启动类:tech.powerjob.server.core.handler.impl.Initializer: 知识点: @Component @ConditionalOnExpression("${execution.env}!=test") + @Post…...

进程管理
进程管理:正在运行的程序管理; 进程管理 进程简介: 进程:进程是已启动的可执行程序的运行实例; 程序:具有执行代码和执行权限的文本文件; 进程由以下组成部分:一个文件; 被配内存的地址空间; 有权限限制; 程序代码的一个或多个副本(也叫执行线程); 拥有状态进程拥…...

cmake cmakelist编写
ADD_DEFINITIONS:定义https://www.shangmayuan.com/a/732f349495174a62baf6ab7f.html OPTION:执行cmake 编译命令传进来的宏定义选项。https://blog.csdn.net/chouhuan1877/article/details/100808689 INSTALL:https://blog.csdn.net/weixin_44937328/ar…...

PostgreSQL 和 MySQL 在用途、好处、特性和特点上的异同
PostgreSQL 和 MySQL 在用途、好处、特性和特点上的异同。 PostgreSQL 和 MySQL 是将数据组织成表的关系数据库。这些表可以根据每个表共有的数据链接或关联。关系数据库使您的企业能够更好地了解可用数据之间的关系,并帮助获得新的见解以做出更好的决策或发现新的机会。 Post…...

【PHP高级工程师必会技能】Thinkphp单例模式
一、什么是单例模式? 单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。” 单例模式是一种常用的软件设计模式,其定义是单例对象的类只…...

想给用户天涯若比邻的体验?业务全球化面临的三重挑战
01 疫情下的在线需求与用户体验 弗里德曼在《世界是平的》一书中提出,经济全球化的发展进程中形成了三次浪潮,分别是劳动力密集型的全球化、资本密集型的全球化和知识密集型的数字全球化。数字化技术对全球商业环境带来了深远的影响,新冠疫情…...

数据指标体系如何搭建才最有效,从 0 到 1 带你快速入门丨 02 期直播回顾
一、指标管理背景介绍一、指标管理背景介绍 大数据时代数字化转型背景下,企业所需要的往往不单单是数据,而是数据背后映射的业务洞察,相比较数据我们更加关心的是其体现的业务价值以及覆盖的业务场景。庞大的数据只有和业务相结合转化为信息,经过处理呈现才能真正体现他们…...

Python常用标准库(pickle序列化和JSON序列化)
常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化。把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化。 在文件中存储的数据只能是字符串,或者是字节流,不能是其它的数据类型,但是如果想要将…...

CentOS 7 的 32 位版发布
CentOS Linux 7 的 32 位版本,x86 (i386) 架构发布,此版本是 AltArch Special Interest Group 发布的第一个 32 位 x86 版本,基于 CentOS 7 (1503) x86_64 架构的源代码,包括所有当前 CentOS 7 树的更新。 安装 (地址真实有效&…...

zabbix监控系统的配置
一、zabbix介绍zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成&#x…...

不再支持源选项 5。请使用 6 或更高版本。不再支持目标选项 1.5。请使用 1.6 或更高版本。解决办法之一
修改settings里面的java Compiler里面的版本还是没有用,在pom文件中引入以下内容,刷新下maven,然后就好使了 xml <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8&l…...

python能做什么?
Python是一种计算机程序设计语言,又被称为胶水语言,可以用混合编译的方式使用c/c/java等语言的库。你可能已经听说过很多种流行的编程语言,比如在大学里感觉非常难学的C语言,进入社会非常流行的Java语言,以及适合初学者…...

高级php工程师需要掌握的知识点
本文整理总结了一些高级php工程师需要掌握的知识点,如果想进入大的企业进行底层开发的话必须对互联网各方面的技术原理了解的很清楚,例如apache实现原理。语言方面既然是php开发自然对 c/c要求比较高。往往需要自己写php扩展。使用mysql自然想很多常见的,…...

Message Queue(消息队列)
Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统 之间进行通信。 1.应用之间的远程调用 2.加入MQ后应用之间的调用 MQ的优势: 1、应用解耦 MQ相当于一个中介,生产方通过MQ与消费方交互…...

VOC/YOLO/COCO数据集格式转换及LabelImg/Labelme/精灵标注助手Colabeler标注工具介绍
数据集格式:VOC(xml)、YOLO(txt)、COCO(json) 本文主要对Label格式,以及LabelImg、Labelme、精灵标注助手Colabeler这常用的三种数据标注软件进行介绍。 1 Label格式 LabelImg是目标检测数据标注工具,可以标注标注两种格式: VOC…...

linux下原子操作指令
目录 原子操作CAS 原子操作 Demo CAS C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 原子操作CAS 原子操作 所谓原子操作是指不会被线程调度机制打断的操作,当某次操作一旦开始,就一直运行到结束,中间不会有任何中…...

Kafka入门(二)
1、Kafka集群工作进程 下面了解一下Kafka的工作流程,Kafka集群会将消息存储在Topic中,每条记录会由一个Key、一个Value和一个Timestamp组成。 Kafka中的消息是以Topic进行分类的,生产者生产消息,消费者消费消息,读取和…...

古月居ros2机器人系列修改图片后如何编译问题
A(我):你好删掉这两个文件后它出现了learning——node未找到这种错误;不仅如此,我建立了另一个同样的文件,而这次我是先修改了路径再编译的,尽管这次新生成的build是修改后的,并且也并未出现多余的…...

PTA Advanced 1164 Good in C C++
目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 易错测试点 易错点&C知识UP 代码 题目 When your interviewer asks you to write "Hello World" using C, can you do as the following figure shows? Input …...

数学建模练习——非线性规划
...

十、数据库操作
数据库操作 一旦创建 数据模型后,Django 自动给予你一套数据库抽象 API,允许你创建(create),检索(retrieve),更新(update)和删除(delete)对象。 为了方便调试我们通过下面的命令进入交互式python命令行: python man…...

Linux -终端中的编辑器vi(2)
4.常用命令4.8缩排和重复执行命令功能>>向右增加缩进<<向左减少缩进.重复上次命令缩排命令 在开发程序时,统一增加代码的缩进比较有用!一次性在选中代码前增加4个空格,就叫做增加缩进一次性在选中代码前删除4个空格,就…...

鼎盛合方案——轮胎充气泵方案
轮胎的质量好坏直接影响到备胎上位的时间长短,而在轮胎的使用中如果充气不恰当则是又给了备胎一个摩拳擦掌准备登场的机会。诶、怎么今天老是说备胎备胎的,对象和她的蓝颜知己这几天确实走的近了一些。发展方向有点不对……她们昨天还一起吃饭也没叫我&a…...

Python常见异常类型
开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等。总的来说,编写程序时遇到的…...

测试工作杂记
1、安卓 测试过程中系统突然卡住不能动了、系统直接(Crash)崩溃掉了、应用程序无响应(ANR),即出现闪退或者异常的情况下 adb logcat -c && adb logcat > d:\logcat.txt 抓包工具android studio (接口、参…...

数据库笔记(三)
havingwhere后面只能写普通字段条件,不能写聚合函数条件having关键字专门用来写聚合函数条件的,并且需要和group by结合使用,写在分组的后面查询每个部门的平均工资,要求平均工资大于2000;select dept_id, avg(sal) a from emp group by dept_id having a>2000;查询每种工作…...

AD硬件电路学习笔记(四)四层板实战(上)之常见模块要求
系列文章目录 AD硬件电路学习笔记(一)常见的管脚名字以及FPGA、Lora AD硬件电路学习笔记(二) GND的种类及PCB布线实战 AD硬件电路学习笔记(三)mos管开关电路学习总结 文章目录系列文章目录常见要点防静电…...

Grafana 系列文章(十):为什么应该使用 Loki
👉️URL: https://grafana.com/blog/2020/09/09/all-the-non-technical-advantages-of-loki-reduce-costs-streamline-operations-build-better-teams/ 📝Description: 我们都知道为什么 Loki 对日志管理有很大帮助。但这里有所有的原因,为什…...

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第7天-贪心专题】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有60天
🏆🏆🏆🏆🏆🏆🏆 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录&a…...

Anchor Free的孪生目标跟踪
Anchor Free的孪生目标跟踪 跟踪任务可以看成是分类任务与状态估计任务的结合。分类任务的目的是精确定位目标的位置,而状态估计获得目标的姿态(即目标框)。SiamFC一文将当前的跟踪器按照不同状态估计的方法分为三类: 以DCF和Si…...

【6s965-fall2022】神经架构搜索 Neural Architecture Search
在很长一段时间里,研究人员都是手动设计神经网络的架构。神经网络架构的设计空间非常大,它包括#layers、#channel width、#branches、kernel sizes、input resolutions。因此,手动调整这些参数非常困难。而神经架构搜索,NAS&#…...

如何从脚本小子变成黑客大神?【网络安全】
学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …...

Suflo-Cyanine5.5 Tyramide,Suflo-Cyanine3 TSA,磺酸基-花青素Cy5 酪酰胺
一、试剂基团反应特点(Reagent group reaction characteristics):TSA主要原理是利用酪胺Tyramide的过氧化物酶反应(酪胺盐在HRP催化H202下形成共价键结合位点),产生大量的酶促产物,该产物能与周围的蛋白残基(包括色氨酸…...

LaoCat带你认识容器与镜像(实践篇一下)
实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 从该章开始,我们就进入了Docker实践篇系列了,主要介绍Docker相关附加命令,与实际日常生产部署注意点…...

Android设备的各种唯一标识符 ID
IMEI 只有Android手机才有, IMEI号是一串15位的号码,比如像这样 359881030314356 TelephonyManager TelephonyMgr (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String szImei TelephonyMgr.getDeviceId();需要权限android.permission.R…...

git串讲笔记
1.注册2.gitee 创建 仓库3. 你的电脑 git软件4. 将上边软件的安装路径需要设置到idea中file settting git path to git executeable: C:\Program Files\Git\bin\git.exe5.vcs create git repository6.点 对号 将idea代码提交本地仓库中7.点 斜右上 方绿色箭头 : 将本…...

ChIP-seq 分析:原始数据质控(2)
1. ChIPseq 简介 染色质免疫沉淀,然后进行深度测序 (ChIPseq) 是一种成熟的技术,可以在全基因组范围内识别转录因子结合位点和表观遗传标记。 ChIPseq1.1. 实验处理 ChIPseq2交联和蛋白质结合的 DNA。通过抗体富集特定蛋白质或 DNA 。添加 末端修复、A 尾…...

对几万行数据的调优操作,调优后系统性能提升明显
文章目录 前言一、问题一:对几万条数据筛选二、问题二:对几万条数据增删查改总结前言 对几万行的数据的处理或者对几万行数据与数据库的交互操作,虽然严格意义上来说,并不是很多,但是如果按照传统普通的流程一次性的遍历处理操作数据,也是会性能很差,有可能到分钟级别;…...

索尼官方答疑,你关心的PS VR2问题都在这里
随着索尼PS VR2即将开售,索尼在近期也逐渐公布更多关于PS VR2的消息,包括首发阵容(2-3月期间)共计37款。与此同时,外界对于索尼PS VR2提出了更多担心,彭博社爆料称:因PS VR2的预订量未及预期&am…...

SSM企业权限管理项目(一)
AdminLTE AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具,它提供了一系列响应的、 可重复使用的组件,并内置了多个模板页面;同时自适应多种屏幕分辨率,兼容PC和移动端后台模板框架github获取AdminLTE源码&#…...

C++设计模式(10)——原型模式
亦称: 克隆、Clone、Prototype 意图 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。 问题 如果你有一个对象, 并希望生成与其完全相同的一个复制品, 你该如何实现呢&…...

uniCloud 云函数/云对象 node版本改变成12或18解决方案
爆红信息 right-hand side of instanceof is not an object 今天卡到一个本地跑好好的云对象部署云端直接报错了。 原因是这样的!! 1、你去看看你云函数依赖那npm install的插件node版本是不是有要求,博主开github看了尽然是node>12 2、…...

面对元宇宙算力瓶颈,AI算力专家宁畅开出三大秘方
文 | 智能相对论作者 | 沈浪元宇宙这把火,从2022继续烧到了2023。目前来看,资本市场对扎克伯格的元宇宙故事依旧抱以希望。2月1日美股收盘,Meta涨2.79%,报收153.12美元/股,盘后股价一度涨逾19%,市值暴涨将近…...

(考研湖科大教书匠计算机网络)第三章数据链路层-第七节:MAC地址、IP地址和ARP协议
pdf下载:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:MAC地址(1)概述(2)IEEE 802局域网的MAC地址A:地址格式B:地址表示方法C&…...

LeetCode刷题模版:273 - 275、278 - 279、283 - 284、287、289 - 290
目录 简介273. 整数转换英文表示【未理解】274. H 指数275. H 指数 II278. 第一个错误的版本279. 完全平方数283. 移动零284. 顶端迭代器287. 寻找重复数289. 生命游戏290. 单词规律结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕ…...

HDFS基本命令
目录 1.上传文件到HDFS文件系统 2.查看HDFS文件系统中的文件 3.查看上传到HDFS文件系统中指定文件的内容 4.从HDFS文件系统下载指定文件,并存放在指定文件中 5.删除HDFS文件系统中的指定文件 6.创建目录 7.创建多级目录 8.递归删除目录下的所有文件 9.删除…...

Java中if结构语句有几种格式?怎样执行?
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执 行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。流程控制类语句包括顺序、分支、循环三个结构语句。下面就来了…...

百趣代谢组学分享:基于大规模多中心人群的肝癌血清标志物研究
为什么都是多组学发的高分文章,我只想做代谢组学可以发高分吗? 答案当然是 Yes。接下来Lavender就为大家分享由大连物化所许国旺老师课题组发表在HEPATOLOGY上面的一篇文章。 百趣代谢组学文献分享,文章的题目为:A Large-Scale,…...

java面试题(十四)数据库之sql
开启掘金成长之旅!这是我参与「掘金日新计划 2 月更文挑战」的第 N 天,点击查看活动详情 1.1 介绍一下数据库分页 参考答案 MySQL的分页语法: 在MySQL中,SELECT语句默认返回所有匹配的行,它们可能是指定表中的每个…...

Java顺序表模拟实现 + ArrayList介绍
文章目录前言一、模拟实现顺序表成员属性成员方法1,构造方法2,add——新增元素,默认在数组末尾新增2.1, isFull——判断顺序表是否已满2.2, expandCapacity——扩容3,add——在 pos 位置新增元素3.1&#x…...

html+css网页练习四
文章目录一、购物网站页面1、要求2、效果图3、index.html4、style.css二、活动页面1、要求2、效果图3、index.html4、style.css三、电商网站页面1、要求2、效果图3、index.html4、style.css四、搜索引擎页面1、要求2、效果图3、index.html3.1、index1.html3.2、index2.html4、s…...

行云洞见|为何行业权威都预测“云原生IDE 将成为常态”?
原文:《The year of the Cloud Development Environment 》 作者:RedMonk创始人 James Governor 最近CNCF在2023年云原生预测中谈到“云原生IDE 成为常态”,让CloudIDE又成为了云原生的焦点,市场上对CloudIDE的态度以及发展趋势讨…...

Fluke ADPT连接器给福禄克万用表插上翅膀
所需设备: 1、Fluke ADPT连接器; 2、Fluke 15B / 17B / 18B 简介 Fluke ADPT连接器允许个人计算机通过串行口与福禄克万用表进行通信。 计算机PC程序通过图形界面来输入数据和命令,与福禄克万用表进行交互。 Fluke ADPT连接器是一款先…...

VUE 年份范围选择器
VUE 年份范围选择器遇到一个需求,需要写一个年份选择器,是范围的年份选择器,比如:xxx年到xxx年 在使用elment UI的时候发现没有这种功能,于是采用el-date-picker 的年份选择器自己后封装了一个年份范围选择器 由于组件使用的地方很多,所以格式化都在组件中处理,回传格式在回传的…...

工业以太网交换机功能测试标准和方法
一、 数据帧过滤:测试被测设备数据帧过滤功能。 a) 测试步骤:1) 按图1搭建测试环境;2) 网络测试仪测试口1向测试口2和测试口3线速发送数据帧;3) 记录网络测试仪测试口2和测试口3数据接收情况;4) 在被测设备上配置端口2…...

Prometheus监控Elasticsearch
1 下载elasticsearch exporterhttps://github.com/prometheus-community/elasticsearch_exporter2 systemd 管理elasticsearch exporter service文件: /usr/lib/systemd/system/es_exporter.service[Unit] Descriptiones_exporter Documentationhttps://prometheus.io Afterne…...

Linux C 中数组名和结构体变量名代表的含义
在linux c 中数组和结构体是常见的数据结构类型,那么他们的标号名称 有代表神魔呢? 比如: int a, a 代表的是一个变量名程,它对应的地址中(&a)存的是一个整形值, 那么 char buf…...

如何控制Facebook投放广告成本?
一,Facebook广告成本高的原因和常见问题广告的成本很高,因为我们需要扩张正如前几篇文章所说,我们所要做的就是扩大对表现良好的产品和广告的广告。有两种扩展方式:这个过程也是我们的AD优化测试的一部分。因为在扩大规模的过程中…...

LeetCode——1604. 警告一小时内使用相同员工卡大于等于三次的人
一、题目 力扣公司的员工都使用员工卡来开办公室的门。每当一个员工使用一次他的员工卡,安保系统会记录下员工的名字和使用时间。如果一个员工在一小时时间内使用员工卡的次数大于等于三次,这个系统会自动发布一个 警告 。 给你字符串数组 keyName 和 …...

NLP之相似文本搜索
NLP之相似文本搜索相似文本搜索介绍应用场景常见算法1.text2vec流程代码2.gensim流程代码相似文本搜索 介绍 相似文本搜索是一种特殊的文本搜索,它的目的是找到与指定文本最相似的文档。这种技术通常通过计算文本间的相似度来实现,相似度可以通过各种方…...

python数据可视化开发(4):爬取对应地址的pdf文档并分类保存到本地文件夹(爬虫)
系列文章目录 python开发低代码数据可视化大屏:pandas.read_excel读取表格python实现直接读取excle数据实现的百度地图标注python数据可视化开发(1):Matplotlib库基础知识python数据可视化开发(2):pandas读取Excel的数据格式处理python数据可…...

Nginx是什么?有哪些优点?
Nginx(“engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/IMAP代理服务器】,是由伊戈尔赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是…...

matplotlib在一张图上绘制包含多条折线的多个子图
matplotlib在一张图上绘制包含多条折线的多个子图问题描述解决办法问题描述 实验用了多个数据集,并且用了多种对比实验的方法,想把结果展示在一张图上,就需要在一个图上画多个折线图,并且需要在一张大图上绘制多个小图。 解决办…...

【LeetCode每日一题】【2023/2/7】1604. 警告一小时内使用相同员工卡大于等于三次的人
文章目录1604. 警告一小时内使用相同员工卡大于等于三次的人方法1:哈希表1604. 警告一小时内使用相同员工卡大于等于三次的人 LeetCode: 1604. 警告一小时内使用相同员工卡大于等于三次的人 中等\color{#FFB800}{中等}中等 力扣公司的员工都使用员工卡来开办公室的…...

Arbitrum上首个跨链互操应用开启空投计划!
2月6日消息,波卡生态跨链互操作应用Avault 全链产品正式上线。据悉,该版本代码经由派盾完成审计,并在本周一正式支持Arbitrum网络。这标志着Avault从波卡生态出发,正式升级为区块链世界中第一个严格意义上的一站式跨链收益平台。 …...

浅学persistent
文章目录1. 背景2. 开机自启动流程3. adb kill -9 杀进程后会自动重启4. 小结1. 背景 在应用AndroidManifest文件下添加 android:persistent“true” 关键字,并把Apk预置到system/app目录下,可以给应用实现开机自启动和保活效果。 从以下两个疑问去找答…...

LeetCode题解 动态规划(二):62 不同路径;63 不同路径II
62 不同路径 medium 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&a…...

Flowable涉及的表介绍
文章目录一、ACT_RE_1、介绍2、表1、act_re_model(流程模型)2、act_re_deployment(部署单元信息)3、act_re_procdef(已部署的流程定义,部署时加载的xml信息)二、ACT_RU_1、介绍2、表1、act_ru_e…...

CompletableFuture的使用
文章目录1、Future2、CompletableFuture并行,并发 并发:一个实体上,多个任务有序执行 并行:多个实体上,多个任务同时执行 用户线程 用户线程是系统的工作线程,会完成程序需要完成的业务操作 守护线程 是一…...

【JavaSE】fail-fast与fail-safe源码分析
文章目录1. fail-fast与fail-safe概述2. fail-fast源码分析3. fail-safe源码分析4. 总结1. fail-fast与fail-safe概述 快速失败(fail-fast),快速失败是Java集合的一种错误检测机制。 出现场景:线程A在使用迭代器遍历一个集合对象的时候,线程…...

LeetCode-127-单词接龙
1、虚拟节点广度优先搜索 为了获得最短转化序列中的单词数目,我们可以假设每个单词是一个节点,可以互相转化的节点之间存在边,这样我们就能将最短转化序列问题转化为图的广度优先搜索问题。考虑到图中可能存在环,因此我们需要额外…...

【pytorch】图片分类问题处理一般数据集,使其满足torchvision.datasets.ImageFolder调用结构
torchvision.datasets.ImageFolder调用结构: 对于简单的图像分类任务,并不需要自己定义一个 Dataset类,可以直接调用 torchvision.datasets.ImageFolder 返回训练数据与标签。 数据集应满足pytorch的格式要求,即将数据集分割为训…...

利用泰克示波器MSO56完成LED行业的测试
1、 测试需求背景LED 是英文 Light Emitting Diode 的简称,是一种具有两个电极的半导体发光器件,让其流过小量电流就会发出可见光。LED的电性能测试特点与其实与开关电源的电性能测试基本相同,但更加侧重电流测试,因为LED是由开关…...

分享106个JS选项卡,总有一款适合您
分享106个JS选项卡,总有一款适合您 106个JS选项卡下载链接:https://pan.baidu.com/s/1kdRJvTgcuZe_TpzrcnmQDQ?pwd0k2d 提取码:0k2d Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj css手风琴效果选项卡 jQ…...

《C++ Primer Plus》(第6版)第13章编程练习
《C Primer Plus》(第6版)第13章编程练习《C Primer Plus》(第6版)第13章编程练习1. Cd类2. 使用动态内存分配重做练习13. baseDMA、lacksDMA、hasDMA类4. Port类和VintagePort类《C Primer Plus》(第6版)第…...

如何配置VoLTE, ViLTE and VoWifi(IMS config for VoLTE, ViLTE and VoWifi)
如何打开VoLTE,ViLTE,VoWifi Feature (How to enable VoLTE,ViLTE,VoWifi feature option) VoWifi有些module属于binary release,如果基线版本不支持VoWifi, 请使用[Patch Release]模板提交eservice给CPM申请open VoWi…...

leetcode 1458 两个子序列的最大点积
给你两个数组 nums1 和 nums2 。 请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。 数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。比方说,…...

【每日随笔】西游记相关随笔 ( 天庭的结构以及人事关系 | 天庭组织架构 | 佛门组织架构 | 天庭的盘根错节 | 西游记中的人情世故 )
文章目录一、天庭组织架构二、佛门组织架构三、天庭的盘根错节四、西游记中的人情世故西游记 和 红楼梦 每一个细节都 蕴含了 大智慧 , 值的每个人都去精读 , 是中国古代智慧的集大成者 ; 西游记 讲的不是 打打杀杀 , 讲的是 人情世故 ; 西游记 反应的是 明朝嘉靖年间 的 政治…...

用两个栈实现队列(LeetCode)算法题
直接进入主题 就是这样了,如果没有仔细看题的话,请回去再仔细看一下 下面开讲 先讲思路在来代码 首先我们想一下队列的性质,队列是先进先出,而栈是后进先出,所以如果想要用栈实现队列,那么一个栈肯定是不…...

机器人运动-力混合控制
#关节动力学 #运动控制 #力控制 详细可参考书本:《现代机器人学:机构规划与控制》第11.5章,其中的动力学方程见第8章相关内容。 其他参考资料: [【现代机器人学】学习笔记十:机器人控制_zkk9527的博客-CSDN博客] 力控制 关节空间…...

3分钟了解热成像仪
3分钟了解热成像仪随着社会老龄化程度的逐步加重,越来越多人喜欢养宠物,这样身边多了一种“陪伴”。但随之而来的宠物丢失以及误入狭小空间或者隐秘空间的情况也层出不穷,比如猫猫躲进汽车底盘,进入天花板/管道隔层等,…...

vulnhub之XXE靶机详解
vulnhub之XXE靶机详解前言一、靶机安装二、信息收集阶段1. 环境2. 探测局域网主机3. 信息收集三、解题相关网站前言 拒绝水文,从我做起,如果如下教程有看不懂的,直接call小编哦 一、靶机安装 靶机下载地址:https: //download.vul…...

多线程的理论基础
为什么需要多线程? 大家都知道,CPU、内存、I/O 设备的速度是有极大差异的,为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系结构、操作系统、编译程序都做出了贡献,主要体现为: CPU 增加了缓存&…...

SC8P1762E_汇编指令一览表
控制类 NOP, 空操作 STOP, 进入休眠模式 CLRWDT, 清零看门狗计数器 数据传送 LD,在汇编语言中通常指的是Load LDIA i, 立即数 i 送给 ACC LDIA的全称是Load Immediate to Accumulator,意思是“将立即数加载…...

ES-nested和join查询
1. 嵌套类型:Nested nested属于object类型的一种,是Elasticsearch中用于复杂类型对象数组的索引操作。Elasticsearch没有内部对象的概念,因此,ES在存储复杂类型的时候会把对象的复杂层次结果扁平化为一个键值对列表。 比如&#…...

04 - 进程参数编程
---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录1. 问题1.1 再论execve(...)1.2 main函数(默认进程入口)1.3 进程空间概要图1.4 编程实验:进程参数剖析1…...

【Oracle 19c 及 21c】Windows 平台客户端包差异
很久不关注 Oracle Database12c 以后的变化了,最近试着安装、测试一下,在下载 Windows 端客户端时发现和以前的 11g 和 12c 大不相同,于是研究了一下,觉得有必要写一篇文章记录一下。 文章目录一、简介二、client 类型安装包2.1 选…...

Maven打包子模块
项目结构1. project_01: 一个多模块的maven工程2. module_01: 工程project_01的一个模块3. submodule_01: 模块module_01的一个子模块其中,project_01, module_01, submodule_01均为其pom中的artifactId,整个结构如图:project_01 <br/>…...

AI标注工具Labelme和LabelImage Labelme和LabelImage集成工具
在AI数据标注过程中,难免会使用到标注工具,常用的工具无非是Labelme和LabelImage。 Labelme是标注目标轮廓,而LabelImage则是标注目标的区域,然而使用原生态的工具,需要用到python命令行,十分麻烦…...

【springcloud 微服务】Spring Cloud Alibaba Sentinel使用详解
目录 一、前言 二、分布式系统遇到的问题 2.1 服务可用性问题 2.1.1 单点故障 2.1.2 流量飙升 2.1.3 容错机制 2.2 服务雪崩问题 三、 服务可用性解决方案 3.1 服务容错机制 3.1.1 超时机制 3.1.2 服务限流 3.1.3 隔离 3.2 服务熔断 3.2.1 什么是服务熔断 3…...

【分享】基于TPS65140的LCD驱动电路方案——飞凌嵌入式
在一次项目定制中,客户要求我们将CPU主控和LCD显示屏电压驱动电路做成一体板,LCD显示屏所需要的AVDD、VGH、VGL等电压需要主控板提供,因为这几路电压所输出的电流都很小(一般都不会超过10mA,具体可以查阅屏体手册&…...

关于 flex 布局时,子元素宽度超出父元素问题及解决方案(问题)
文章目录1. 第一次遇到这个问题的场景2. 第二种情况3. 问题原因4. 解决方案4.1 方案一4.2 方案二1. 第一次遇到这个问题的场景 先看效果图,大家可以看一下下面的样式,很明显左边和右边的盒子我是给的定宽,但是被挤压了 这个是我在项目中遇到的…...

php 压缩zip打包类和用例
<?php namespace app\lib; /** * 压缩包驱动 * author Wmeng * version 0.0.1 */ class ZipHelper { protected $zip; protected $root; protected $ignored_names; /** * 构造函数 */ public function __construct() { $th…...

普乐蛙景区VR体验设备景区VR解决方案元宇宙vr体验馆项目
#普乐蛙元宇宙VR案例分享 新疆博尔塔拉州温泉县五馆 内置机甲战机星球火箭模型等产品 新增VR产品既丰富孩子们学习空间更是对孩子社会领域教育的一次真正意义上的实践.VR设备体验,是让整个人置身于虚拟现实中,让人沉浸感更足。VR设备给该景区带来了更…...

黑马程序员——前端HTML5+CSS3(女神版)——day01——文本格式化标签、图片标签的title属性、音频标签、视频标签、超链接标签的target属性
黑马程序员——前端HTML5CSS3(女神版)——day01——文本格式化标签、图片标签的title属性、音频标签、视频标签、超链接标签的target属性 目录黑马程序员——前端HTML5CSS3(女神版)——day01——文本格式化标签、图片标签的title属…...

什么是用户体验 ?
1、感观体验:呈现给用户视听上的体验,强调舒适性。一般在色彩、声音、图像、文字内容、网站布局等呈现。 2、交互用户体验:界面给用户使用、交流过程的体验,强调互动、交互特性。交互体验的过程贯穿浏览、点击、输入、输出等过程给…...

学校教的Python,找工作没企业要,太崩溃了【大四真实求职经历】
如果只靠学校学的东西去找工作,能找到工作吗? 今天给大家看一个粉丝的真实求职案例,想做Python方面的工作,投了二十几个简历却没人要,心态崩了。为什么没人要?我来告诉你答案。 然后我还会结合我的这些年的…...

安卓版kawaks街机模拟器,C8,V3手柄冲突解决方案,物理改键
kawaks_5.2.7.apk 做得很好 美中不足,相同类型的手柄,键值会冲突,导致4个人没法玩 本人通过更改手柄模式,成功试出了4种不冲突的组合模式 准备工作:C8手柄*2V3手柄*2,我们要调出以下组合 Xbox Wireless Controller V3: R1 Home Wireless Controller V3: B Home Gamepad…...

http和https的区别?
http和https的区别?HTTPHTTPSHTTP与HTTPS区别HTTPS相比于HTTP协议的优点和缺点HTTP http是超文本传输协议 HTTP协议是基于传输层的TCP协议进行通信,通用无状态的协议。80端口 HTTPS https—安全的超文本传输协议 是以安全为目标的HTTP通道,…...

重构·改善既有代码的设计.02之代码的“坏味道”
前言之前在《重构改善既有代码的设计.01》中初步了解了重构的基本前提,基础原则等入门知识。今天我们继续第二更......识别代码的坏味道Duplicated Code 重复代码。最单纯的Duplicated Code就是“同一个类中含有相同的表达式”或“两个互为兄弟的子类内含有相同表达…...

学习自动化测试有那么重要吗?是不是真的有必要学呢?
你好,我是凡哥。 最近收到不少小伙伴私信提问,其中问得比较多的就是“学习自动化测试有那么重要吗?”。 我的回答是肯定的——很重要。 相信不少同学都有诸如此类的疑问,例如:“日常工作中好像用不上自动化ÿ…...

Linux下的图标与文件关联机制:freedesktop
Linux下的图标与文件关联机制:freedesktop 目前主流的Linux发行版中,使用的桌面基本都是基于GNOME、KDE、Xfce等环境,这几种桌面环境中,关于桌面图标,文件关联,应用程序启动等方面的实现,全部都…...

如何构造 HTTP 请求?
❣️关注专栏: JavaEE 这里写目录标题🍧1 通过 form 表单构造 HTTP 请求🍨 1.1 form 发送 GET 请求🍨 1.2 form 发送 POST 请求🍧 2 通过 ajax 构造 HTTP 请求🍨 2.1 js 提供的原生的 ajax 的 API…...

数据库:mycat实现读写分离
目录 一、mycat 1、mycat实现读写分离原理 2、mycat应用场景 3、mycat作用 4、mycat实现读写分离实战 一、mycat 1、mycat实现读写分离原理 ①用户进行读操作则由mycat转给配置的从数据库。 ②用户进行写操作则由mycat转给配置的主数据库。 ③转发规则由mycat配置文件中…...

系统测试设计的10种方法
一、等价类划分 等价类的概念 等价类 某个输入域的子集合,在这个集合中 每一个输入条件都是等效 的, 如果其中一个输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。有效等价类 合理的输入数据 指满足产品规格说明的…...

js常用方法和内存泄露的几种情况
1. JS数组的常用方法- 增: push() unshift() splice() concat()- 删: pop() shift() splice() slice(不改变原数组)- 改: splice()- 查: indexOf() includes() find()2. 排序- sort() - reverse()3. 转换- join()4. 迭代- forEach…...

DolphinScheduler
序言整理下DolphinScheduler的使用参考资料:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.4 --官网文档简介Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期…...

【Java (一:12-2) 反射】
Java反射机制一、反射1.反射的概念2.获取class对象3. 获取Constructor对象4. 利用Constructor创建对象5.反射获取构造方法流程6.反射获取成员方法流程7.反射获取成员对象8.利用Field赋值和获取值9.获取method对象10.利用method对象运行方法一、反射 1.反射的概念 灵活调用 …...

ESP8266-NodeMCU开发板-------网络知识(2)
目录 TCP/IP协议簇 链路层 网络层与IP协议 IPv4 / IPv6 子网掩码(Subnet Mask) MAC地址和ARP 传输层 应用层 HTTP协议 HTTP请求 HTTP响应 DNS(Domain Name System/域名系统) TCP/IP协议簇 在网络系统中,为了保证通信设备之间能正确地进行通信…...

设计模式(二十六)----行为型模式之备忘录模式
1 概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作&…...

前端利用js里数组的filter方法进行多条件过滤查询
需求:用户在输入框输入多个条件时,可以对表格数据进行过滤查询,无需后端接口处理,利用了前端js里数组的filter方法进行过滤。 如下是效果图: 当用户在姓名的输入框里输入"张"后效果如下: 当用户…...

DCDC--开关频率的选择
开关稳压器IC使用的开关频率从数十kHz到数MHz,最近有些甚至似乎以高频率工作。 1、重视效率或重视尺寸 如果将开关频率调高,则外置的电感和电容器将使用较小的,尺寸必然会变小。因此,包含安装面积和高度在内的外形尺寸也会变小&…...

【华为OD机试 2023最新 】 开放日活动、取出尽量少的球(C++)
题目描述 某部门开展Family Day开放日活动,其中有个从桶里取球的游戏,游戏规则如下: 有N个容量一样的小桶等距排开, 且每个小桶都默认装了数量不等的小球, 每个小桶装的小球数量记录在数组 bucketBallNums 中, 游戏开始时,要求所有桶的小球总数不能超过SUM, 如果…...

JavaScript学习笔记(9.6)
JSON JSON是Javascript对象标记法 JSON是一种轻量级的数据交换格式 JSON具有自我描述且易于理解 为什么使用JSON:因为JSON格式仅仅是文本,它能够轻松地在服务器浏览器之间传输,并用作任何编程语言的数据格式。 JavaScript提供内建函数把…...

Profinet协议下,MCGS触摸屏能否无线连接PLC?
一、方案概述 本方案以MCGS触摸屏和2台西门子S7-1200为例,介绍触摸屏与多台 PLC的无线Profinet通信实现过程。在本方案中采用了西门子PLC无线通讯终端DTD418M,作为实现无线通讯的硬件设备。 本方案中,用户无需更改网络参数和原有程序&#…...

小白开发微信小程序20--web api文档制作
1、什么是SwaggerSwagger 项目已于 2015 年捐赠给 OpenAPI 计划,自此它被称为 OpenAPI。 这两个名称可互换使用。 不过,“OpenAPI”指的是规范。 “Swagger”指的是来自使用 OpenAPI 规范的 SmartBear 的开放源代码和商业产品系列。简而言之:…...

审核通过≠报名成功,每年都有朋友因这个细节,报名失败
2023上半年软考已经开放报名啦~ 特别提醒:不是提交报考资料后就算报名成功!软考报考流程:提交报考资料→审核通过(一般需要1-3个工作日)→缴费成功→报名成功! 首次报名软考的同学可能很容易忽…...

进销存是什么?如何选择进销存系统?
什么是进销存?进销存软件概念起源于上世纪80年代,由于电算化的普及,计算机管理的推广,不少企业对于仓库货品的进货,存货,出货管理,有了强烈的需求,进销存软件的发展从此开始。 进入…...

【LeetCode】剑指 Offer 30. 包含min函数的栈 p165 -- Java Version
题目链接:https://leetcode.cn/problems/bao-han-minhan-shu-de-zhan-lcof/ 1. 题目介绍(30. 包含min函数的栈) 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 p…...

电路基础(4) 电阻电路的一般分析
1.电路的图将上面的电路图,抛开其中元器件的性质,可以提取出“只有线和结点的图”。如果考虑电流等的流向,则可以变化位“有向图”。 提取的有向图少了8那条支路,是因为把元件的并联组合也作为一条支路了。 提取的有向图少了7那条…...

安卓拍照、裁切、选取图片实践
安卓拍照、裁切、选取图片实践 前言 最近项目里面有用到裁切功能,没弄多复杂,就是系统自带的,顺便就总结了一下系统拍照、裁切、选取的使用。网上的资料说实话真是没什么营养,但是Android官网上的说明也有点太简单了,…...

tcpdump命令参数说明和使用实例、linux解析公网地址会卡顿一下解决方法
文章目录tcpdumptcpdump的参数选项基本返回值查看基本用法抓取指定网络接口的所有流量抓取指定网络接口指定主机地址【IP/域名】的所有流量只取出端口 3333 的联机数据包获取指定协议的数据包【如udp】在网口eth1上抓取源端口为80且目的端口为6100的数据包进阶用法【关系运算符…...

HBuilderx快捷键大全(2023)
文章目录1. 项目管理器2. 标签卡3. 文件4. 行操作5. 删除6. 列表符操作7. 剪贴板8. 撤销9. 语言10. 包围11. 选择12. 查找13. 跳转14. 视图15. 运行16. 鼠标配合快捷键17. 其他高效极客技巧1. 项目管理器 操作名称快捷键重命名文件(焦点在项目管理器中)…...

Queue-基于redis的队列
接上文:RBucket对象桶 -> Redisson系列-1(让redis操作更优雅)_子书少卿的博客-CSDN博客 (Queue) 结构的 RQueue Java对象实现了 java.util.queue 接口。尽管 Roueue 对象无初始大小 (边界)限制,但对象的最大容量受Red…...

prometheus03-如何导出prometheus指标
Prometheus是一个开源的监控系统和时间序列数据库,用于收集和存储服务的指标数据。要导出Prometheus指标,你需要使用或实现一个Prometheus Exporter。以下是一个简单的指南,分为三个主要步骤: 选择或实现Prometheus Exporter Pr…...

Pikachu靶场之XXE漏洞
Pikachu靶场之XXE漏洞一、XML和XXE的区别二、解题1.1 前提1.2 使用代码进行文件读取1.3 内网探针或攻击内网应用1.4 RCE1.5 无回显读取文件1.6 xxe绕过一、XML和XXE的区别 XML是传递数据的一种格式,而XXE是XML传递数据过程中产生的一种漏洞,两者是完全不…...

npm发布包教程(四):迭代
一个npm包发布之后,我们难免会修改一些bug,或者增改一些功能,这就涉及到对npm包的迭代。本篇文章就npm迭代涉及到一些知识点进行介绍。 本次演示以《npm发布包教程(二):发布包》中发布的包为基础。 npm包的…...

Apollo 配置变更原理
我们经常用到apollo的两个特性:1.动态更新配置:apollo可以动态更新Value的值,也可以修改environment的值。2.实时监听配置:实现apollo的监听器ConfigChangeListener,通过onChange方法来实时监听配置变化。你知道apollo…...

C语言实现队列(Push Pop Size Front EmptyBack)
队列是一个重要的数据结构,他的特性是先进先出,所以由于这个特性,队列只有一个入口和一个出口,所以只有push和pop 下面我们看一下他如何实现 首先我们来看一下他的结构体 这里我们看到我们定义了两个结构体,其中一个…...

为什么typeof null得到的是Object而不是null?
为什么typeof null得到的是Object而不是null? 因为JavaScript中不同对象在底层都表示为二进制, 而JavaScript中会把二进制前三位都为0的判断成object类型。 而null的二进制表示全是0,自然前三位也是0....

大数据框架之Hive:第12章 企业级调优
第12章 企业级调优 12.1 计算资源配置 本教程的计算环境为Hive on MR。计算资源的调整主要包括Yarn和MR。 12.1.1 Yarn资源配置 1)Yarn配置说明 需要调整的Yarn参数均与CPU、内存等资源有关,核心配置参数如下 (1)yarn.nodem…...

typescript(元组、枚举、类、泛型)
元组 数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象 // 数组 let arr:number[] [1,2] // 元组 let arr1:[string,number][1,2] // 但是使用联合类型/类型别名 同样可以实现元组的效果 // 区别是元组对每一项进行类型约束 …...

独闯万亿氢能江湖,未势能源显露“双轮动能”
在时代的洪流中,顺势而为的企业往往能更快拿到通往未来的船票。如火如荼的新能源行业,无疑是当下较为强劲的“势”。在最近的两会上,国家强调今年要推动发展方式绿色转型,关于加速新能源发展的提案也成为热门议题。市场中不少企业…...

基于opencv的边缘检测方法
1、梯度运算 用OpenCV的形态变换( 膨胀、腐蚀、开运算和闭运算)函数morphologyEx 梯度运算即膨胀结果-腐蚀结果: 【注意】对于二值图像来说,必须是前景图像为白色,背景为黑色,否则需要进行反二值化处理 …...