网上的一些脚本,不是粗制滥造就是可维护性不强,所以自己写了一份springboot项目的启动脚本,水平有限,还有优化的空间。
以下是使用脚本后的示例:
$ sh server.sh start -p=test -v="-Xms512m -Xmx512m" -j=example_server.jar ▫开始停止:example_server.jar ▫执行时间:2020-06-24 11:24:34 ▫当前进程:19025 ▫停止进程:19025 ▫执行结果:停止成功! ▫开始启动:example_server.jar ▫执行时间:2020-06-24 11:24:39 ▫执行结果:启动成功! $ sh server.sh status ▫当前文件:example_server.jar ▫当前进程:22315 ▫启动时间:11:24 ▫运行时长:00:00:25 ▫启动命令:java -jar -Xms512m -Xmx512m example_server.jar --spring.profiles.active=test $ sh server.sh start ▫开始停止:example_server.jar ▫执行时间:2020-06-24 11:25:23 ▫当前进程:22315 ▫停止进程:22315 ▫执行结果:停止成功! ▫开始启动:example_server.jar ▫执行时间:2020-06-24 11:25:28 ▫执行结果:启动成功! $ sh server.sh status ▫当前文件:example_server.jar ▫当前进程:24527 ▫启动时间:11:25 ▫运行时长:00:00:14 ▫启动命令:java -jar -Xms256m -Xmx256m example_server.jar $ sh server.sh 使用方法:sh server.sh [start|stop|restart|status] [-j,-v,-p] 精简命令:sh server.sh start 精简命令:sh server.sh status 精简命令:sh server.sh start -p=dev 精简命令:sh server.sh start -p=dev -j=name.jar [操作类型] [虚拟机参数,可选] ↓ ↓ 完整命令:sh server.sh start -j=example_server.jar -v='-Xms512m -Xmx512m' -p=dev ↑ ↑ [文件名,无则搜索当前目录] [springboot配置选择,可选]
本脚本可以根据不同的选择单独指定参数,也可以不指定参数而自动启动,以下为源码,可以根据自身情况修改:
#!/bin/sh export BUILD_ID=cds #----------------------------------------------↓变量区↓----------------------------------------------# #操作类型 OPERATION=$1 #执行文件名,例如:example_server.jar) JAR_NAME="" #虚拟机参数,例如:-Xms256m -Xmx256m VM_OPTIONS="" #springboot 配置文件指定 #例如:dev/test/pro等,对应application-dev.yml/application-test.yml/application-pro.yml #不指定则不是springboot项目或直接使用application.yml PROFILE_ACTIVE="" #颜色定义 RESTORE=$(echo -en '\033[0m') BLACK=$(echo -en '\033[00;30m') RED=$(echo -en '\033[00;31m') GREEN=$(echo -en '\033[00;32m') YELLOW=$(echo -en '\033[00;33m') BLUE=$(echo -en '\033[00;34m') MAGENTA=$(echo -en '\033[00;35m') PURPLE=$(echo -en '\033[00;35m') CYAN=$(echo -en '\033[00;36m') T_GREEN=$(echo -en '\033[1;32m') #----------------------------------------------↑变量区↑----------------------------------------------# #----------------------------------------------↓方法区↓----------------------------------------------# #设置参数 function setOpt() { if [ -n "${1}" ] ; then #从第0个字符起,取3个字符 opt=${1:0:3} value=${1:3} case $opt in -j=) JAR_NAME=${value} ;; -v=) VM_OPTIONS=${value} ;; -p=) PROFILE_ACTIVE=${value} ;; esac fi } #检查程序是否在运行 function status() { #初始化参数 #进程ID PID=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk '{print $2}'` #启动时间 START_DATE=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk '{print $5}'` #运行时长 DURATION=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk '{print $7}'` #启动命令 COMMOND=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk -F " " '{for (i=8;i<=NF;i++)printf("%s ", $i);print ""}' ` #如果进程存在 if [ -n "${PID}" ] ; then echo -e "▫当前文件:${BLUE}${JAR_NAME}${RESTORE}" echo -e "▫当前进程:${BLUE}${PID}${RESTORE}" echo -e "▫启动时间:${BLUE}${START_DATE}${RESTORE}" echo -e "▫运行时长:${BLUE}${DURATION}${RESTORE}" echo -e "▫启动命令:${BLUE}${COMMOND}${RESTORE}" else echo -e "▫当前文件:${BLUE}${JAR_NAME}${RESTORE}" echo -e "▫执行结果:${RED}进程未启动!${RESTORE}" fi } #停止方法 function stop() { #初始化参数 timeNow=$(date "+%Y-%m-%d %H:%M:%S") echo -e "▫开始停止:${BLUE}${JAR_NAME}${RESTORE}" echo -e "▫执行时间:${BLUE}${timeNow}${RESTORE}" #获取PID PID=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk '{print $2}'` #运行中 if [ -n "${PID}" ] ; then echo -e "▫当前进程:${BLUE}${PID}${RESTORE}" echo -e "▫停止进程:${BLUE}${PID}${RESTORE}" #杀死进程 kill -9 "$PID" #等待结束 sleep 5s #确认是否成功停止 PID=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk '{print $2}'` if [ -z "${PID}" ] ; then echo -e "▫执行结果:${GREEN}停止成功!${RESTORE}" else echo -e "▫执行结果:${RED}停止失败!${RESTORE}" exit 1 fi else echo -e "▫执行结果:${RED}进程未启动!${RESTORE}" fi } #启动方法 function start() { timeNow=$(date "+%Y-%m-%d %H:%M:%S") echo -e "▫开始启动:${BLUE}${JAR_NAME}${RESTORE}" echo -e "▫执行时间:${BLUE}${timeNow}${RESTORE}" #echo "▫参数:"${VM_OPTIONS} ${JAR_NAME} ${PROFILE_ACTIVE} #运行 nohup java -jar ${VM_OPTIONS} ${JAR_NAME} ${PROFILE_ACTIVE}>>/dev/null 2>&1 & #等待进程启动 sleep 5s PID=`ps -ef|grep 'java'|grep ${JAR_NAME}|grep -v 'grep'|head -1|awk '{print $2}'` if [ -n "${PID}" ] ; then echo -e "▫执行结果:${GREEN}启动成功!${RESTORE}" else echo -e "▫执行结果:${RED}启动失败!${RESTORE}" fi } #使用说明,用来提示输入参数 function usage() { echo -e "使用方法:sh server.sh [${GREEN}start${RESTORE}|${GREEN}stop${RESTORE}|${GREEN}restart${RESTORE}|${GREEN}status${RESTORE}] [${YELLOW}-j${RESTORE},${BLUE}-v${RESTORE},${PURPLE}-p${RESTORE}]" echo -e "精简命令:sh server.sh ${GREEN}start${RESTORE}" echo -e "精简命令:sh server.sh ${GREEN}status${RESTORE}" echo -e "精简命令:sh server.sh ${GREEN}start${RESTORE} ${PURPLE}-p=dev${RESTORE}" echo -e "精简命令:sh server.sh ${GREEN}start${RESTORE} ${PURPLE}-p=dev${RESTORE} ${YELLOW}-j=name.jar${RESTORE}" echo -e " [${GREEN}操作类型${RESTORE}] [${BLUE}虚拟机参数,可选${RESTORE}]" echo -e " ↓ ↓ " echo -e "完整命令:sh server.sh ${GREEN}start${RESTORE} ${YELLOW}-j=example_server.jar${RESTORE} ${BLUE}-v='-Xms512m -Xmx512m'${RESTORE} ${PURPLE}-p=dev${RESTORE}" echo -e " ↑ ↑ " echo -e " [${YELLOW}文件名,无则搜索当前目录${RESTORE}] [${PURPLE}springboot配置选择,可选]${RESTORE}" exit 1 } #----------------------------------------------↑方法区↑----------------------------------------------# #----------------------------------------------↓执行区↓----------------------------------------------# #1.获取所有参数 for key in "$@" do setOpt "${key}" done #2.初始化,如果未指定参数值,则按默认处理 #如果未指定可执行文件 if [ -z "${JAR_NAME}" ] ; then #如果未指定,则在本目录下查找 path=`pwd` jarName=`find . -name '*.jar'` count=`find . -name '*.jar'|wc -l` if [ ${count} -gt "1" ] ; then echo -e '在'${path}'下找到多个jar文件,请指定可执行文件名称!' exit 1 elif [ ${count} -eq "1" ] ; then JAR_NAME=${jarName:2} else echo -e '在'${path}'下未找到可执行jar文件!' exit 1 fi fi #如果未指定虚拟机参数,默认处理 if [ -z "${VM_OPTIONS}" ] ; then VM_OPTIONS="-Xms256m -Xmx256m" fi #如果指定springboot配置文件 if [ -n "${PROFILE_ACTIVE}" ] ; then PROFILE_ACTIVE="--spring.profiles.active="${PROFILE_ACTIVE} fi #3.根据输入参数,选择执行对应方法,不输入则执行使用说明 case "${OPERATION}" in "start") stop start ;; "stop") stop ;; "status") status ;; "restart") stop start ;; *) usage ;; esac #----------------------------------------------↑执行区↑----------------------------------------------#
相关推荐
内容概要:本文详细介绍了基于C++实现的单目相机与投影仪联合标定算法。该算法通过特殊设计的棋盘格图案和相位偏移法相结合的方式,实现了高效的标定流程。文中展示了关键步骤如相位解算、角点检测以及非线性优化的具体实现方法,并最终以yml格式保存标定结果。实验结果显示,该系统的重投影误差低于0.1像素,在1米距离上的三维重建误差小于0.3毫米,适用于工业级应用场景。 适合人群:对计算机视觉、三维重建和增强现实感兴趣的开发者和技术研究人员,尤其是熟悉C++编程语言的人群。 使用场景及目标:本算法主要用于需要精确标定单目相机和投影仪的应用场合,如汽车HUD校准、手术导航系统等。其目标是在确保高效性和准确性的同时,提供一种替代传统双目标定方案的方法。 其他说明:文中还提供了几个实用的小技巧,帮助提高标定效果,例如对标定板进行哑光处理、控制投影图案的灰度范围等。此外,附带了一个有趣的手势捕捉演示,展示了标定系统的实际应用潜力。
内容概要:本文深入探讨了卡尔曼滤波作为线性最小方差统计估算方法的应用,特别是在处理含有噪声的数据序列以预测和估计物体位置方面的作用。文中不仅解释了卡尔曼滤波的基本概念,即利用前一刻的最佳估计和当前观测进行线性修正在预测物体位置方面的应用,还提供了详细的Matlab实现步骤。通过构建一个二维运动仿真的例子,展示了如何设置状态矩阵、状态转移矩阵、观测矩阵以及噪声协方差矩阵,并通过预测-更新循环来不断优化估计结果。最终,通过对比真实轨迹、噪声观测点和卡尔曼滤波后的轨迹,证明了卡尔曼滤波在存在模型误差的情况下仍能提供稳定可靠的估计。 适合人群:对卡尔曼滤波理论感兴趣的研究人员和技术爱好者,尤其是希望了解其具体实现方式并掌握Matlab编程技能的人群。 使用场景及目标:适用于需要从含噪数据中提取有用信息的各种应用场景,如自动驾驶汽车的目标追踪、无人机导航系统的位置预测等。目标在于帮助读者理解卡尔曼滤波的工作机制,学会如何根据实际情况调整参数以获得更好的效果。 其他说明:文中提到的调参技巧类似于PID控制器的调节,强调了在面对不同类型的噪声时,如何权衡响应速度与稳定性的问题。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文详细介绍了基于珊格地图的人工势场法动态路径规划算法,并将其与A*和RRT算法融合,以应对动态障碍物并优化路径规划性能。文章首先解释了珊格地图的概念及其在路径规划中的应用,接着描述了人工势场法的工作原理,即通过模拟物理势场使移动体避开障碍物并找到最优路径。随后,作者分享了自己用Matlab编写的路径规划程序,用户可以在该程序中自定义地图、设置起始点和目标点。最后,文章探讨了人工势场法与A*和RRT算法融合的方法,提高了路径规划在复杂动态环境中的效率。 适合人群:对路径规划算法感兴趣的科研人员、自动化工程领域的学生和技术爱好者。 使用场景及目标:适用于需要在动态环境中进行高效路径规划的应用,如机器人导航、自动驾驶汽车等。目标是帮助读者理解和实现基于珊格地图的人工势场法路径规划,并掌握与其他算法融合的技术。 其他说明:文中提供了简化的Matlab代码示例,便于读者理解和实践。同时,强调了动态障碍物处理的重要性,展示了多种算法融合带来的优势。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文介绍了西门子1200和1500 PLC的PID闭环控制模拟仿真程序案例,详细讲解了PID控制的基本概念及其在工业自动化领域的应用。该程序案例分为两个部分,分别对应不同型号的PLC,但实现功能相同。它通过WINCC界面实现了PID参数的整定,支持预调节、精确调节、手动调节和自动调节等功能。程序注释详尽,易于理解和操作,且无需额外硬件设备,只需博图V14SP1及以上版本软件即可运行。文中还展示了部分关键代码片段,便于读者深入了解PID控制的具体实现。 适合人群:从事工业自动化相关工作的技术人员,尤其是对PID控制感兴趣的初学者和有一定经验的操作员。 使用场景及目标:① 学习和理解PID控制的工作原理;② 掌握西门子PLC编程技巧;③ 提升对PID参数调整的实际操作能力。 其他说明:该案例不仅有助于理论知识的学习,还能通过实际编程练习加深对PID控制的理解,非常适合自学或培训使用。
内容概要:本文详细介绍了BTT(Bank-to-Turn)和STT(Skid-to-Turn)两种导弹六自由度仿真的Simulink建模方法及其优化方案。文中涵盖了导弹的整体设计方案以及各个子系统的数学模型,如目标模型、导弹模型、导引头模型、导引规律模型、控制规律模型和舵机模型。特别强调了参数自定义、修改与二次优化的重要性,并提供了具体的代码实例,如导引头的二阶滞后环节和舵机的死区+饱和+速率限制模型。此外,还讨论了常见的错误和注意事项,如参数单位换算错误和耦合系数符号错误,并提出了自动化生成仿真报告的方法。 适合人群:航空航天工程领域的研究人员和技术人员,尤其是对导弹六自由度仿真感兴趣的工程师。 使用场景及目标:适用于需要进行导弹六自由度仿真的科研项目或教学活动。主要目标是帮助用户掌握Simulink环境下导弹仿真的建模技巧,提高仿真精度和效率。 其他说明:文中提供的模型和代码可以在GitHub上获取,便于用户进行实际操作和进一步优化。
内容概要:本文探讨了NSGA2算法在冷链物流车辆路径优化中的应用,旨在同时优化成本、客户满意度和碳排放。文中详细介绍了如何利用Python的DEAP库构建NSGA2框架,定义适应度函数,以及自定义交叉和变异操作以适应车辆路径问题的特点。此外,文章还讨论了软时间窗模型的应用及其对客户满意度的影响,并提出了一个非线性的碳排放模型,展示了算法的实际效果和优势。 适合人群:从事物流管理、运筹学研究、算法设计的专业人士,尤其是关注冷链物流和多目标优化的研究者和技术人员。 使用场景及目标:适用于需要进行冷链物流车辆路径规划的企业,帮助企业在控制成本的同时提高客户满意度并减少碳排放。具体目标包括:①降低运输成本;②提升客户满意度;③减少碳排放。 其他说明:文章强调了NSGA2算法在处理多目标优化问题时的独特优势,并指出实际应用中需要根据不同情况进行参数调整。文中提供的代码示例有助于理解和实施该算法。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文详细探讨了利用COMSOL仿真软件对变压器三相短路绕组振动模型进行建模和分析的方法。首先介绍了COMSOL仿真的背景和技术优势,随后重点阐述了如何构建变压器三相短路仿真模型,包括电磁场分布、轴向力和幅向力分析、磁密分布以及绕组振动模型的具体步骤。最后,通过对仿真结果的深入分析,揭示了变压器在短路条件下电磁场、受力情况及振动特性等方面的表现,为设备的设计、维护和优化提供了理论支持。 适合人群:从事电力系统仿真、变压器设计与维护的技术人员,以及相关领域的研究人员。 使用场景及目标:适用于需要深入了解变压器三相短路时动态行为的研究人员和技术人员,旨在提高设备的安全性和可靠性,优化设备设计。 其他说明:文中不仅展示了具体的仿真方法,还提供了详细的分析结果,有助于读者全面掌握变压器在极端工况下的性能表现。
Android studio 物流追踪app设计
数据集介绍:农业多品类果蔬目标检测数据集 一、基础信息 数据集名称:农业多品类果蔬目标检测数据集 图片数量: 训练集:4,719张图片 分类类别: 包含40种常见农作物及果蔬类别: 豌豆、苹果、牛油果、香蕉、甜菜根、甜椒、西兰花、卷心菜、辣椒、胡萝卜、花椰菜、红辣椒、玉米、黄瓜、番荔枝、茄子、大蒜、生姜、葡萄、墨西哥辣椒、猕猴桃、柠檬、生菜、芒果、洋葱、橙子、甜椒粉、梨、青豆、菠萝、石榴、土豆、萝卜、大豆、菠菜、红薯、甜玉米、番茄、芜菁、西瓜等 标注格式: YOLO格式标注,支持多边形/边界框标注,适用于目标检测及实例分割任务 数据来源:实地拍摄的农产品图像,覆盖不同生长阶段及光照环境 二、适用场景 智能农业分拣系统开发: 支持构建果蔬自动化分拣模型,适用于果蔬加工厂、无人农场等场景的自动化产线建设 农产品质量检测系统: 训练AI模型检测果蔬表面缺陷、成熟度判断及品种分类,提升农产品质检效率 农业机器人视觉模块: 为采摘机器人提供视觉识别基础,支持40种常见果蔬的精准定位与识别 农业教育研究平台: 可作为农业院校AI+农业交叉学科的教学数据集,支持目标检测算法研究与实践 零售行业智能管理: 应用于无人超市货架管理、自动称重结算系统等场景的视觉识别模块开发 三、数据集优势 多品类覆盖能力: 包含从根茎类(胡萝卜/土豆)到浆果类(葡萄/番茄)等40个农业品类,满足复杂场景需求 真实农业场景数据: 图像采集于真实农田、温室和仓储环境,包含枝叶遮挡、堆叠摆放等实际工况 高密度标注特性: 单张图像平均包含5-8个检测目标,支持多目标复杂场景下的模型训练 跨任务兼容性: YOLO格式标注兼容目标检测与实例分割任务,支持不同粒度的视觉任务开发 季节适应性: 包含不同成熟度的样本数据,支持模型学习果实颜色、形态的连续变化特征
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
数据集介绍:多类别农业果蔬目标检测数据集 一、基础信息 数据集名称:多类别农业果蔬目标检测数据集 数据量统计: - 训练集:11,675张图片 - 验证集:3,336张图片 - 测试集:1,668张图片 总计:16,679张农业场景图片 分类类别: Apple(苹果)、Banana(香蕉)、Broccoli(西兰花)、Carrot(胡萝卜)、Cucumber(黄瓜)、Grape(葡萄)、Lemon(柠檬)、Mushroom(蘑菇)、Orange(橙子)、Pumpkin(南瓜)、Strawberry(草莓)、Tomato(番茄)、Zucchini(西葫芦) 标注格式: YOLO格式标注,包含归一化坐标与类别索引,支持主流目标检测框架直接调用。 二、适用场景 农业自动化系统开发: 用于构建果蔬识别机器人视觉系统,支持温室种植、果园采摘等场景的自动化目标检测。 食品加工质检: 训练AI模型识别不同果蔬品类,应用于食品加工流水线的自动分拣与质量检测。 智能零售系统: 支持开发生鲜超市自助结算系统,通过视觉识别实现果蔬品类的快速分类统计。 农业科学研究: 为农作物生长监测、产量预估等研究提供标准化视觉检测数据支持。 三、数据集优势 丰富品类覆盖: 包含13类全球常见经济作物,涵盖水果、蔬菜两大品类,支持多品类混合检测场景。 精准农业特性: 所有标注数据均来自真实农业场景,包含不同生长阶段、光照条件和摆放姿态的样本。 工业适配性强: YOLO格式标注可直接对接主流检测算法,提供开箱即用的训练/验证/测试集划分方案。 应用扩展空间大: 除基础目标检测外,可支持产量统计、成熟度判断、异常检测等衍生任务开发。
基于不平衡电桥电阻法的绝缘检测验证计算Excel
内容概要:本文探讨了在四机两区系统中,利用MATLAB/Simulink进行风储调频的仿真实践。重点介绍了频域模型法和附加虚拟惯性控制、储能附加下垂控制在一次调频中的应用。通过频域模型法,可以更准确地模拟风电出力的波动特性,而附加虚拟惯性控制和储能附加下垂控制则能有效提升系统的频率特性和稳定性。文中还提到SOC特性的引入为储能系统的管理提供了更为精细的依据,仿真结果显示系统频率特性得到显著优化,且仿真速度快达5秒。 适合人群:从事电力系统研究、风电调频技术研发的专业人士,以及对MATLAB/Simulink仿真感兴趣的科研人员和技术爱好者。 使用场景及目标:适用于希望深入了解风储联合调频技术的研究人员和技术人员,旨在通过高效的仿真手段优化电力系统的频率特性,确保高风电渗透率环境下的电网稳定运行。 其他说明:本文提供的参数来源于IEEE经典四机两区系统,并附有详细的参考文献和数据支持,便于读者进一步研究和验证。