自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_46290197的博客

opencv2学习

  • 博客(71)
  • 资源 (5)
  • 收藏
  • 关注

原创 ESP 32控制无刷电机2

recv_data, sender_info = udp_socket.recvfrom(1024) # 缓冲区大小为1024字节。recv_data = recv_data.decode('utf-8').strip() # 解码为字符串并去掉多余空白。print(f"设置PWM占空比为: {value}")print(f"接收到数据: {recv_data} 来自 {sender_info}")udp_socket.bind(("0.0.0.0", 7788)) # 绑定端口7788。

2025-02-28 23:43:02 757

原创 ESP 32控制无刷电机

【代码】ESP 32控制无刷电机。

2025-02-20 20:53:10 124

原创 实现0.8米高度的悬停

【代码】为了实现0.8米高度的悬停。

2025-01-19 22:07:57 123

原创 用HAL_GetTick()函数实现简单任务调用

/ 获取当前时间(毫秒级){led_blink, 500, 0}, // LED闪烁任务,每500毫秒执行一次。// 计算任务数量,并初始化每个任务的上次运行时间为0(表示尚未运行)

2025-01-14 10:31:49 1538

原创 FreeRTOS-系统移植到stm32F103C8T6中(使用标准库)

本文主要介绍在KEIL环境下移植FreeRTOS到stm32F103C8T6芯片上一、源码下载FreeRTOSv9.0.0。

2025-01-08 09:18:51 783

原创 用pyinstaller打包

第一,首先在cmd环境安装程序所用到的库 如: pip install pygame。第四, 在当前目录使用 输入pyinstaller -F -w xxx.py。第二,安装pip install pyinstaller。第三,所在的文件夹输入cmd 进入当前目录。

2024-12-25 21:46:10 74

原创 实现四旋翼X型飞行器在2米处悬停 过程中要保持的姿态平衡

【代码】实现四旋翼X型飞行器在2米处悬停 过程中要保持的姿态平衡。

2024-12-11 23:41:10 87

原创 平行降落的目标姿态控制

【代码】平行降落的目标姿态控制。

2024-12-11 21:45:23 93

原创 实现了从起始坐标到结束坐标的距离和初始航向

【代码】实现了从起始坐标到结束坐标的距离和初始航向。

2024-12-10 12:30:51 140

原创 stm32f103x控制蜂鸣器

/ 配置TIM2为PWM模式1,预分频器71,计数器周期499(产生2kHz的PWM频率,如果系统时钟为72MHz)Beep_PWM_Start(duty_cycle);// 开启PWM输出,设置占空比。// 示例调用:蜂鸣器以50%占空比,100ms开启,100ms关闭的模式重复发声3次。// 配置TIM2 CH1 PWM模式1,输出比较极性高,输出状态使能。// 配置PA0为复用推挽输出(TIM2_CH1)// 停止PWM输出(通过将占空比设置为0%)

2024-12-06 23:43:50 503

原创 百度木木浆测试

image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 转换为RGB格式,因为PIL使用RGB。plt.imshow(cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB)) # 再次转换为RGB以在matplotlib中显示。ocr = PaddleOCR(use_gpu=False, lang='ch') # 假设我们识别中文字符,并且不使用GPU。# 显示带有OCR结果的图像。

2024-12-04 23:23:11 407

原创 动态人脸识别(四)---显示名字

frame = draw_chinese_text_on_image(frame, '签到时间:', (x-100, y+220), font_path, font_size,gray = cv2.imread('./faces_dynamic/%s/%d.jpg' % (dir, i)) # 三维图片。print('这个人是:%s.置信度:%0.1f' % (label, confidence))font_path = 'msyhbd.ttc' # 替换为你的字体文件路径。

2024-12-03 09:46:14 560

原创 动态人脸识别(三)---采集名字拼音缩写与名字

key = input('请输入文件夹的名字,姓名拼音的缩写(用于文件夹名),如果输入Q,程序退出!# 注意:这里我们不处理重复文件夹名的情况,如果需要,可以添加额外的逻辑来处理。# 检查是否已经存在该文件夹名字,避免重复(假设文件夹名字是唯一的)name = input('请输入与文件夹对应的名字: ')# 检查names.xlsx文件是否存在,如果不存在则创建它。# 保存更新后的DataFrame到Excel文件。# 保存名字和文件夹名到Excel文件。# 读取现有的Excel文件。

2024-12-03 09:42:30 309

原创 动态人脸识别-中文名字显示

frame = draw_chinese_text_on_image(frame, '签到时间:', (x-100, y+220), font_path, font_size,gray = cv2.imread('./faces_dymamic/%s/%d.jpg' % (dir, i)) # 三维图片。建入一个names.xlsx文件,里面有两列,分别是动态人脸识别(一)新建的,拼音缩写字母,(第一列)第二列,是汉字的名字。# 计算文本的y坐标,使其位于图片底部上方bottom_margin的位置。

2024-12-03 09:01:49 561

原创 动态人脸识别(二)

gray = cv2.imread(f'./faces_dymamic/{dir}/{i}.jpg') # 使用 f-string 简化字符串格式化。face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml') # 修正文件名。print(f'这个人是:{label}. 置信度:{confidence:.1f}') # 使用 f-string 简化字符串格式化。

2024-12-03 00:19:36 259

原创 动态人脸识别(一)

第一:安装opencv库 第二:下载文件haarcascade_frontalface_alt.xml与程序放在同目录下,第三,安装opencv-contrib-python库。key = input('请输入文件夹的名字,姓名拼音的缩写,如果输入Q,程序退出!# 在faces_dynamic下面创建子文件夹。# #1、动态采集人脸。# 加载人脸特径数据。

2024-12-03 00:16:56 324

原创 Micopython与旋转按钮(Encoder)

range_mode=RotaryIRQ.RANGE_WRAP)#RANGE_WRAP越界后从另一端开始。reverse=False, #是否反方向增加。pin_num_dt=13, #data引脚。r = RotaryIRQ(pin_num_clk=12, #clk引脚。min_val=100, #起始值。max_val=230, #终止值。二、rotary_irq_esp.py。一、 encoder.py文件。三、 rotary.py文件。

2024-12-01 13:58:59 715

原创 用micropython 操作stm32f4单片机实现串口通讯

self.system_time = int(temp[7] + temp[6] + temp[5] + temp[4], 16) # 传感器上电时间。self.system_time = int(temp[7] + temp[6] + temp[5] + temp[4], 16) # 传感器上电时间。# self.dis = (int(temp[10] + temp[9] + temp[8], 16)) / 1000 # 测距距离 单位m。

2024-11-30 13:00:56 852

原创 用micropython 操作stm32f4单片机的定时器实现蜂鸣器驱动

注意:pyb.Timer.channel的pulse_width_percent()接受0到100的百分比值。ch = tim.channel(4, pyb.Timer.PWM, pin=buzzer_pin) # 创建PWM通道。buzzer_pin = pyb.Pin('PD15', pyb.Pin.OUT) # 假设PD15引脚支持PWM。tim = pyb.Timer(4, freq=2000) # 设置定时器4的频率为2000Hz。# 请查阅您的板的文档以确认正确的引脚和定时器。

2024-11-30 09:47:02 347

原创 实现飞2米高的框架(c语言版)

/ 模拟pitch。// 在实际应用中,这里应读取MPU6050传感器的数据。// 在实际应用中,这里应读取气压传感器的高度数据。// 模拟MPU6050传感器数据读取函数。// 模拟MPU6050传感器结构体。// 这里我们模拟一个高度值。// 调整PWM值以控制高度。// 调整PWM值以控制姿态。// 模拟MPU6050传感器实例。// 这里我们模拟一些数据。// Quadcopter结构体。

2024-11-21 22:15:12 439

原创 实现飞2米高的框架(二)

为了实现更加精确和稳定的飞行控制,通常还需要结合其他传感器的数据,尤其是像MPU6050这样的惯性测量单元(IMU),它可以提供加速度和角速度的信息,帮助确定飞行器的姿态(俯仰、滚转和偏航角度)。在这个示例中,我们添加了`read_attitude`方法来从MPU6050读取姿态信息,并在`pid_control`方法中加入了对俯仰和滚转的控制。在现有的PID控制逻辑基础上,添加对飞行姿态的控制。针对不同的控制需求(如高度控制、俯仰控制、滚转控制和偏航控制),可能需要单独设置PID参数。

2024-11-21 19:56:18 379

原创 实现飞2米高的框架(一)

要实现四旋翼无人机在没有遥控器的情况下悬停在2米的高度,可以使用一个闭环控制系统(例如PID控制器)来根据气压传感器反馈的高度信息调整四个电机的速度。- `set_motor_speeds` 方法用于设置四个电机的转速,这里假设所有电机都以相同的PWM值运行,这是简化模型,在实际情况中可能需要调整不同电机的PWM值以保持稳定。- PID控制器的参数 (`kp`, `ki`, `kd`) 需要根据您的具体设备进行调校,不同的设备可能需要不同的参数值。# 这里应该是发送PWM信号给四个电机的函数。

2024-11-21 19:52:09 328

原创 TOF Sense激光测距实例

data_hex = binascii.hexlify(data).decode() # 将字节数组转换为十六进制字符串。uart_channel = machine.UART(2, baudrate=921600) # 修改为TOFSense所连接的串口。tof_f = TOFSense_F() # 确保TOFSense_F类在MicroPython环境中可用或已导入。# data = data.rstrip(b'\0') # 删除可能的尾随空字节。# 等待串口初始化完成。

2024-11-18 14:44:16 273

原创 TOF Sense激光测距数据解析的理解

str_data = "57 00 ff 00 9e 8f 00 00 ad 08 00 00 03 00 ff 3a" # 使用列表推导式拆分字符串 temp = [str_data[i : i + 2] for i in range(0, len(str_data), 2)] # 打印结果 print(temp)['57', '00', 'ff', '00', '9e', '8f', '00', '00', 'ad', '08', '00', '00', '03', '00', 'ff', '3a']

2024-11-18 14:16:08 960

原创 TOF Sense激光测距模块校验和的理解

checksum = sum(int(data[i : i + 2], 16) for i in range(0, num * 2, 2))这句代码的目的是遍历一个包含十六进制数字的字符串,并将这些十六进制数字转换为十进制整数,最后对这些整数求和。生成一个迭代序列:# range(0, 30, 2) 生成 [0, 2, 4, 6,8,10,12,14,16,18,20,22,24,26,28],这是一个包含15个字节(每个字节由两个十六进制数字表示)的字符串。

2024-11-18 14:04:14 390

原创 Thonny+MicroPython+ESP32开发环境搭建

五,把esp32-20220618-v1.19.1 烧录到ESP32 点击"工具“ ->"选项" install or updata Micopython。四. 下载ESP32驱动(CP210xVCPInstaller_x64.exe)三. 下载MicroPython。二、安装 最好安装在C盘。一、下载Thonny。

2024-11-17 08:28:29 364

原创 javascript 与MQTT连接(2)

删除标点</button> <button onclick="processLngLatArray()">发送数据

2024-11-15 20:25:04 734

原创 javascript 与MQTT连接

发送消息巴法云消息推送 (XMLHttpRequest)

2024-11-14 22:20:31 379 1

原创 pyinstall 打包 paddleocr 成为.exe文件步骤

因为打包过程中,没能把ultralytics库导进来,所以我们把ultralytics文件夹复制到。把 tools与 ppocr复制到 _internal里面,正常运行。三、输入pyinstaller testsu49.spec就完成了。由上图已知,缺少defaut.yaml 文件,我们需要 从下面获取。四、运行testsu49.exe.会出现下面的错误。五、继续运行testsu49.exe,又出现了。产生上图两个文件夹,build与 dist。这是由于paddleocr 没有导入进来。

2024-06-08 20:31:48 1774 2

原创 yolov8 预测目标图像显示

cv2.imwrite("cropped_image.jpg", cropped_img) # 如果需要,取消注释这行来保存图像。bbox = results[0].boxes.xyxy[0].tolist() # 提取第一个边界框的xywh值。results = yolo(source=img) # 如果yolo库支持直接处理numpy数组,则传入img。# 注意:如果您的YOLO库版本不支持直接处理numpy数组,您可能需要将图像保存为文件,# 对图像"aaa.jpg"进行目标检测。

2024-05-17 09:37:28 1113

原创 yolov8使用与训练步骤

在网页按ctr+F 输入:搜py38 Miniconda3-py38_22.11.1-1-Windows-x86_64.exe 52.5 MiB 2022-12-23 07:57 下载进行安装 安装过程中记得加环境变量这个项。训练:yolo task=detect mode=train model=./yolov8n.pt data=yolo-bvn.yaml epochs=30 workers=1 batch=16。激活:命令:conda activate yolov8。

2024-05-15 18:47:26 753

原创 jupyter notebook导出pdf文件显示不了中文

找到文件index.tex.j2,我的在 C:\Users\Administrator\miniconda3\envs\opencv2\share\jupyter\nbconvert\templates\latex。最后:用文本编辑器打开,修改图中article为ctexart,重启jupyter lab即可导出为中文pdf。我安装miniconda3并配置opencv2所需要的环境,注:上面的图片参与网上的。

2024-05-01 13:51:20 1111 3

原创 opencv动态识别人脸

gray = cv2.imread('./faces_dymamic/%s/%d.jpg'% (dir,i)) #三维图片。print('这个人是:%s.置信度:%0.1f'%(label,confidence))key = input('请输入文件夹的名字,姓名拼音的缩写,如果输入Q,程序退出!gray_ = gray[:, :, 0] #二维数组。target.sort() # 排序。#4、算法训练,找到目标值之间的规律。#2、加载数据,返回目标值。#3、加载人脸识别算法。

2024-04-27 21:25:39 1019 2

原创 opencv 采样照片

#1、动态采集人脸。# 加载人脸特径数据。

2024-04-27 21:17:31 539 1

原创 yolov8操作步骤

2、搜py38 Miniconda3-py38_22.11.1-1-Windows-x86_64.exe 52.5 MiB 2022-12-23 07:57。1、https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/(下载)清华源:https:/mirrors.tuna.tsinghua.edu.cn/help/pypi/9\源码安装: 在当前文件目录中 pip install -e. 查看安装情况:pip list。

2024-04-20 08:35:59 416

原创 OPEN CV 实现车辆统计

通过外接矩形的宽高大小来过滤掉小的矩形。#把车抽象为一点,即外接矩形的中心点。#要通过外接矩形计算矩形的中心点。# 如何画线,画在什么位置。#要求坐标点数都是整数。# 如何画线,画在什么位置。# 把原始帧进行灰度化。#膨胀,把图像还原回来。#画出所有检测的轮廓。

2024-04-20 08:14:49 459 2

原创 stm32f103c8r6 串口2数据DMA的接收

/外设站点起始的地址。//使能 存储器到存储器的搬运。

2024-01-23 20:27:18 676

原创 stm32f103c8r6 dma 测试

/外设站点起始的地址。

2024-01-21 09:38:00 447

原创 AT24C02读写操作 四

/在主函数里写判断if(USART_RX_STA&0xC000),然后读USART_RX_BUF[]数组,读到0x0d 0x0a即是结束。//以下是字符串接收到USART_RX_BUF[]的程序,(USART_RX_STA&0x3FFF)是数据的长度(不包括回车)

2024-01-19 11:38:51 407

原创 AT24C02读写操作 三

define AT24C02_READ_SDA PBin(7) //输入SDA PB2。

2024-01-19 11:35:31 481

初中生物操作资料学习 b

初中生物操作资料学习

2025-03-15

学习stm32 综合20252315

学习stm32 综合20252315

2025-03-15

综合各种传感器练习项目

综合各种传感器练习项目 sbus mpu6050 sofsense 等等

2025-03-07

FreeRTOS系统实例(手机控制无刷电机版本)

FreeRTOS系统实例(手机控制无刷电机版本)本程序用手机app控制电机,(主要是开发APP ,利用(de.ullisroboterseite.ursai2udp.aix)的插件的UDPXmitter与 ESP32运行的micropython 进行,通过esp32热点创建的UDP接收APP发送来的数据通过串串发送给stm32串口接收进行改变数据。(也可以用ClientSocketAI2Ext插件进行TCP通信)

2025-01-24

FreeRTOS系统实例(多种传感器学习)

FreeRTOS系统实例是以STM32f1单片机运行FreeRTOS系统实现。

2025-01-19

freertos学习代码

freertos学习代码

2025-01-07

python飞翔的小鸟素材

python飞翔的小鸟素材

2024-12-24

STM32-PR -项目综合17

STM32-PR -项目综合17 多级pid控制 角度超过40度。就死机

2024-12-14

STM32-PR -项目综合15

STM32-PR -项目综合15 多级pid控制

2024-12-12

STM32-PR -综合项目12

包括 TOFSE se LED MPU等传感谢器操作

2024-12-11

STM32-PR -综合项目10

STM32-PR -综合项目10包括 TOFSE se等传感谢器操作

2024-12-10

STM32操作 mpu6050

STM32操作 mpu6050

2024-12-08

STM32-串口发送(正确printf)

STM32-串口发送mpu6050测试

2024-12-08

stm32f1x单片机 pid模拟

stm32f1x单片机 pid模拟传器驱区电机.

2024-12-07

stm32f1单片机测试电机-4

stm32f1单片机测试电机-4

2024-12-07

STM32-beep-MPU-TOFSense

STM32-beep-MPU-TOFSense

2024-12-06

mpu6050&TOFSense

mpu6050&TOFSense基于stm32f1单片下。运用DMA与uart2 通讯实现数据搬运,主要用于TOF S ense 传感器,另外用I2C实现与MPU6050通讯

2024-12-06

在ESP32测试TOFSense与mpu6050

在ESP32测试TOFSense与mpu6050

2024-12-04

OPEN-CV教学项目

OPEN-CV教学项目主要用于八年级 上册教学之动态人脸识别。

2024-12-03

ESP32S,旋转编码器

ESP32S,旋转编码器

2024-12-01

micropyth与mpu6050

micropyth与mpu6050模块。

2024-12-01

stlink安装程序文件

stlink安装程序文件用下载单片机程序

2024-11-30

micropython与ESP32练习程序

micropython与ESP32练习程序里面有很多例子,对于初学者是很好的帮助。

2024-11-30

原理图-STM32F4

原理图_STM32F4方便编程者对stm32f4单片机的引脚功能编程

2024-11-30

在-stm32f427vit6平台运行micropython

在-stm32f427vit6平台运行micropython,下载固件Discovery F429(http://www.micropython.org/download/STM32F429DISC/)在thonnyIDE编辑就可以了。

2024-11-30

STM32F407ZG点灯实例

STM32F407ZG点灯实例(也适合于单片机stm32f427vi26)

2024-11-30

STM32F4开发包安装

STM32F4开发包

2024-11-29

j avascipt 测试程序代码

j avascipt 测试程序代码主要编辑网页

2024-11-21

stm32f1 编写MPU6050程序代码

stm32f1 编写MPU6050程序代码

2024-11-21

stc8a8k处理器51开发飞控代码

stc8a8k处理器51开发飞控代码是习学飞控基础,

2024-11-21

stm32测试TOFSense距离

stm32f103c8测试TOFSense距离,主要采用DMA传输数据。

2024-11-20

micropython平台运行TOFSense测距例子

micropython平台运行TOFSense测距例子

2024-11-20

串口下载程序(适合于51 stm32单片机)

串口下载程序(适合于51 stm32单片机)

2024-11-19

2024-STM32F103通用工程模板V1.1

2024-STM32F103通用工程模板V1.1是已经配合好的标准库,直接使用设计程序

2024-11-19

st-link下载 驱动程序

下载程序通常有两种下载,一是串口,另一是st-link,如果st-link不成功,点击"魔术棒"-debug-setting-FlashDownload-增加内在地址

2024-11-19

STM32F10x-StdPeriph-Lib-V3.5.0标准库

STM32F10x_StdPeriph_Lib_V3.5.0标准库开发基础

2024-11-19

支持STM32F1系列开包

支持STM32F1系列开发包,即下载了 keil后,需要开发 stm32f1或者到ARM公司网下载也可以。文件扩展名为Keil.STM32F1xx_DFP.2.4.1.pack

2024-11-19

toFsese-f 与pwm调速

toFsese-f 与pwm调速采用micropython为平台,通过串口与TO f通讯

2024-11-18

wifi连网与MQTT通信实例

wifi连网与MQTT通信 主要类from wifi_manager import WifiManager from MqttClient import MQTTClient #导入MQTT板块 import utime from machine import Pin,Timer 注:需要改两个文件ID,第一是浏览器内地图ID ,,二是MQtt内的ID

2024-11-17

esp32 wifi配网文件,主要包也WifiManager

测试t程序: from wifi_manager import WifiManager import utime from machine import Pin # Example of usage wm = WifiManager() wm.connect() pin2 = Pin(2, Pin.OUT) while True: if wm.is_connected(): pin2.value(1) else: pin2.value(0) utime.sleep(10) # 正确的缩进和位置

2024-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除