IDEA导入Jar包详细流程
以Logback为例,获取三个Jar包
在IDEA中创建一个新项目,项目结构如下
在项目的根目录下创建一个文件夹,名称为lib,并将Jar放入其中
选择新放入的Jar包,右键选择Add as Library...
确认是否导包成功,右键项目,选择Open Modules Settings,再选择Libraries
如果出现了想要导入的Jar包的名称,则说明导入成功
病虫害识别以及分类的实现
病虫害识别以及分类的实现模型生成数据集数据集地址:IP102-Dataset (kaggle.com)
数据集说明:
IP102 是一个用于害虫识别的大规模基准数据集。以下是它的一些主要特点:
图像数量:包含超过 75,000 张图像
类别:涵盖 102 个不同的昆虫害虫类别
数据分布:呈现自然的长尾分布,模拟了现实世界中的不平衡样本情况
目标检测:为约 19,000 张图像标注了边界框,用于目标检测任务
这个数据集的独特之处在于它的层次分类系统和数据分布不平衡的特点,使其在害虫识别和农业应用中具有重要意义。
训练模型具体训练过程:Pytorch_VIT Insect Classifier (kaggle.com)
可以使用kaggle里的notebook,也可以使用colab在云端运行
点击Edit My Copy,可以直接进入notebook,但是由于要下载timm库,要在notebook中开启网络功能,需要手机验证。
我搞了半天验证,一直出问题。。。后面选择使用colab。
Colab先在notebook的导航栏中找到file选项,里面有一个open in colab选项,可 ...
ESP32S3-EYE的WIFI图传方法
ESP32捕获实时视频环境:ESP-IDF v5.1.4,Python v3.12.4
在乐鑫官网查找相关示例,ESP-IoT-Solution符合需求,从github拉取相关代码。
1git clone --recursive https://github.com/espressif/esp-iot-solution
第一步——配置进入esp-iot-solution/examples/camera/video_stream_server,输入以下命令:
12idf.py set-target esp32s3idf.py menuconfig
进入菜单后,进入Camera Pin Configuration选项,选择对应的开发板(这个没配置似乎会出问题)
如果想要改变ESP32的WIFI设置,进入Example Connection Configuration选项。里面包含如:设置AP模式下WIFI的SSID、IP地址、密码,或者设置STA模式(就是要连入的WIFI的SSID和密码)
默认情况下,ESP32为AP模式,且没有密码,最大连入数量为1,默认IP地址为:192.16 ...
Seeed_Studio_MNIST实例实现部分
!!!全部操作均在Linux系统下,Linux为Ubuntu24.04!!!
实例网址MNIST_Classification_MobileNetV2_0.5_Rep_32.ipynb - Colab (google.com)
环境搭建实例需要带有CUDA核心的显卡,linux中还需要提前将显卡驱动安装完成
先安装Anaconda,具体为啥后面会提。
我一开始用python3.12的版本,但是会有报错
1module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
后面将版本降低为python3.11就没问题了
其次是pip的问题
由于在linux系统下,使用pip安装包会出现以下错误:
1234567891011121314151617181920error: externally-managed-environment× This environment is externally managed╰─> To instal ...
Java
** IDEA快捷键 **ALT + Ins 快速创建Javabean
CTRL + P 查看方法的具体参数
ALT + ENTER 选择 Extract Method 快速生成方法
CTRL + ALT + L 格式化代码
CTRL + B 查看方法详细
CTRL + ALT + V 生成生成接收返回值的变量名
CTRL + ALT + T 将选中的代码以某种方式包裹起来(如try...catch)
Java基础语法注释注释内容不会参与编译和运行,仅仅是对代码的解释说明
注释概念
注释是在程序指定位置添加的说明性信息
简单理解为:对代码的一种解释,方便阅读
注释分类单行注释
1// 注释信息
多行注释
1/* 注释信息 */
文档注释
1/** 注释信息 **/
关键字关键字:被java赋予了特定涵义的英文单词
关键字特点
关键字字母全部小写
常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观
class:用于创建/定义一个类,后面跟随类目。类是Java最基本的组成单元
⭐字面量⭐数据在程序中的书写格式
字面量类型
字面量类型
说明
举例
...
常见算法
查找
基本查找
二分查找/折半查找
分块查找
插值查找
斐波那契查找
树表查找
哈希查找
基本查找核心:从0索引开始逐个往后查找
1234567891011121314151617public static void main(String[] args) { // 需求:定义一个方法利用基本查找,查询某个元素是否存在 // 数据如下:{131,127,147,81,103,23,7,79} int[] arr = new int[]{131,127,147,81,103,23,7,79}; boolean res = basicSearch(arr,100); System.out.println(res);}public static Boolean basicSearch(int[] arr,int number) { // 利用基本查找来查找number是否存在 for (int i = 0; i < arr.length; i++) { ...
数据结构
数据结构数据结构是计算机底层存储、组织数据的方式
是指数据相互之间是以什么方式排列在一起的
数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择
一般情况下,精心选择的数据结构可以带来更高的运行或存储效果
常见的数据结构
栈
队列
数组
链表
二叉树
二叉查找树
平衡二叉树
红黑树
重点掌握:
数据结构的样式
如何添加数据
如何删除数据
数据结构(栈)栈的特点:后进先出,先进后出
数据进入栈模型的过程称为:压栈/进栈
数据离开栈模型的过程称为:弹栈/出栈
栈内最后进入的元素(处于顶部的元素)称为栈顶元素
栈内最先进入的元素(处于底部的元素)称为栈底元素
数据结构(队列)队列的特点:先进先出,后进后出,将数据进入的一端称为后端,数据出去的一端称为前端
数据从后端进入队列模型的过程称为:入队列
数据从前端离开队列模型的过程称为:出队列
数据结构(数组)
查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同(元素在内存中是连续存储的)
删除效率低:要将原始数据删除,同时后面每个数据前移
添加效率极低:添加位置后的每个数据后移,再添加元素
数据结构(链表 ...
ubuntu基本使用
压缩包管理——ZIP安装ZIP1sudo apt-install zip
基本用法压缩文件
压缩文件单个文件:
1zip test.zip myfile
test.zip:压缩文件的名称
myfile:压缩的目标文件
压缩多个文件:
1zip test.zip file1 file2 file3
解压缩
解压缩到当前目录
1unzip test.zip
解压缩到指定目录
1unzip test.zip -d directory
AppImage安装将文件权限设置为如下:
1sudo chmod +x <AppImage File>
然后直接打开文件就可以
1./<AppImage File>
Java测试题
1. 借助随机函数生成100以内的整数表示成绩,将得到的10名同学3门课的成绩存储在一个二维数组中。分别统计每个人的平均成绩,每门课的平均成绩,并分别显示。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import java.util.Random;public class Test { public static void main(String[] args) { int[][] score =new int[10][3]; Random r = new Random(); for (int i = 0; i < score.length; i++) { for (int j = 0; j < score[i].length; j++) { score[i][j] = r.nextInt(100) ...
ESP32-SSCMA
项目获取github地址:https://github.com/Seeed-Studio/sscma-example-esp32
环境要求(我自己的)Python 3.11.2
ESP-IDF 5.1.2
克隆仓库
1git clone https://github.com/Seeed-Studio/sscma-example-esp32
进入 sscma-example-esp32 文件夹
1cd sscma-example-esp32
获取子模块
1git submodule update --init
进入examples/mobilenetv2_classification_demo 目录
由于我使用的是ESP32S3-EYE,在上传到板子前,需要在 cmake/CMakeLists.txt 修改开发板型号
在文件尾部,修改如下代码
123456target_compile_definitions( ${COMPONENT_TARGET} PUBLIC -DCONFIG_EL_TARGET_ ...