@e1hr 断开指的是这里的断开
e1hr 发布的帖子
-
openMV在线串口通讯断联问题
使用openMVIDE在线进行RS232数据通讯,发送数据约1200个,经常会收完数据后就断开了,想咨询:1,造成openMVIDE断开的原因可能有哪些?2、openMVIDE突然断开后,相当于脱机运行,程序是重新启动了还是接着运行了?主要是想知道重新设置摄像头没,因为从现在结果看像是接着运行了,理论上觉得应该重新启动呀
-
OpenMV4 H7 plus 可以在VGA大小中用find circles 和find_rects函数吗
OpenMV4 H7 plus 可以在VGA大小中用find circles 和find_rects函数吗
-
关于摄像头在高低亮度环境下上电,获取图像亮度不同的问题
摄像头设置如下:
sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.VGA) sensor.set_auto_gain(False,gain_db=1) sensor.set_auto_whitebal(False) # turn this off. sensor.set_auto_exposure(False,exposure_us=18000) sensor.skip_frames(time = 2000)
应用环境:获取物体对应点的灰度值;问题现象:如果上电时所需获取图像的物体处的环境比较亮,那么得灰度值1,再将环境变暗得灰度值2,如果上电时所需获取图像的物体处的环境比较暗,那么得灰度值3,再将环境变暗得灰度值4,环境的亮和暗是固定的亮度,现在就是灰度值1和灰度值3相差较大,灰度值2和灰度值4相差较大,有没有什么设置,使其忽略上电时的环境明暗,在同等亮度级别得到差不多大的灰度值
-
RE: 圆识别报错的问题,不知道原因是什么
@kidswong999 谢谢!你好,请问如何理解img.find_circles(threshold = 2000, x_margin =5, y_margin
= 10, r_margin = 5,r_min = 2, r_max = 5, r_step = 2)这个函数的 x_margin, y_margin, r_margin 这3个参数,对这句“控制检测到接近圆的合并调节”不太理解,如果圆有大有小呢? -
圆识别报错的问题,不知道原因是什么
sensor.reset() #摄像头初始化 #.set_pixformat(sensor.RGB565) #设置为彩色模式 #sensor.set_framesize(sensor.QQVGA) #画幅为QQVGA即分辨率为160*120 sensor.set_pixformat(sensor.GRAYSCALE) #sensor.set_framesize(sensor.QVGA) sensor.set_framesize(sensor.VGA) sensor.skip_frames(time = 2000) #跳过起始画面,获取稳定图像 sensor.set_auto_gain(False) #在色块检测模式下关闭自动补光 sensor.set_auto_whitebal(False) #关闭白平衡 clock = time.clock() while(True): #lens_corr 为了去除畸变, 1.8 是默认参数,可以根据自己实际情况调整 # img = sensor.snapshot().lens_corr(1.8) img = sensor.snapshot() # 圆形类有 4 个参数值: 圆心(x, y), r (半径)和 magnitude(量级); # 量级越大说明识别到的圆可信度越高。 # `threshold` 参数控制找到圆的数量,数值的提升会降低识别圆形的总数。 # `x_margin`, `y_margin`, and `r_margin`控制检测到接近圆的合并调节. # r_min, r_max, and r_step 用于指定测试圆的半径范围。 for c in img.find_circles(threshold = 2000, x_margin =5, y_margin = 10, r_margin = 5,r_min = 2, r_max = 5, r_step = 2): #画红色圆做指示 img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0)) print(c)
#打印圆形的信息
-
编写滤波函数报错问题,报错如图片
# Untitled - By: admin - 周三 5月 22 2024 import sensor, image, time from ucollections import deque from pyb import Timer import time # 假设的温度读数函数 def read_temperature(): return 25.5 # 这应该是一个函数,用于读取温度传感器的值 # 温度过滤函数 def temperature_filter(queue_size=10): # 创建一个固定大小的队列 temperature_queue = deque(maxlen=queue_size) # 添加初始温度数据 temperature_queue.append(read_temperature()) # 创建一个定时器每隔一定时间更新温度数据 def update_temperature(timer): temperature_queue.append(read_temperature()) # 定时器触发间隔,单位为毫秒 update_interval = 1000 # 1秒更新一次 # 创建定时器并设置回调函数 timer = Timer(0, update_interval, update_temperature) timer.start() while True: # 等待并在队列满时停止,或者可以设置一个超时时间 while len(temperature_queue) < queue_size: time.sleep(1) # 计算并返回过滤后的平均温度 return sum(temperature_queue) / len(temperature_queue) # 使用温度过滤函数 avg_temperature = temperature_filter() print("平均温度:", avg_temperature)
-
圆识别不准确的问题,如何识别想要的圆
from pyb import UART import json sensor.reset() #摄像头初始化 sensor.set_pixformat(sensor.RGB565) #设置为彩色模式 sensor.set_framesize(sensor.QQVGA) #画幅为QQVGA即分辨率为160*120 sensor.skip_frames(time = 2000) #跳过起始画面,获取稳定图像 sensor.set_auto_gain(False) #在色块检测模式下关闭自动补光 sensor.set_auto_whitebal(False) #关闭白平衡 clock = time.clock() while(True): #lens_corr 为了去除畸变, 1.8 是默认参数,可以根据自己实际情况调整 # img = sensor.snapshot().lens_corr(1.8) img = sensor.snapshot() # 圆形类有 4 个参数值: 圆心(x, y), r (半径)和 magnitude(量级); # 量级越大说明识别到的圆可信度越高。 # `threshold` 参数控制找到圆的数量,数值的提升会降低识别圆形的总数。 # `x_margin`, `y_margin`, and `r_margin`控制检测到接近圆的合并调节. # r_min, r_max, and r_step 用于指定测试圆的半径范围。 for c in img.find_circles(threshold = 2500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 20, r_step = 2): #画红色圆做指示 img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0)) print(c) #打印圆形的信息 ![0_1714274915088_qqq.PNG](https://fcdn.singtown.com/3bb02f0a-3131-4e11-b816-bbc4adb98e07.PNG)
如何识别自己想要的圆?
-
RE: 虚拟U盘数据和代码丢失问题
@e1hr 第二张图片不对,打开main出现代码如下:
main.py -- put your code here!
import pyb, time
led = pyb.LED(3)
usb = pyb.USB_VCP()
while (usb.isconnected()==False):
led.on()
time.sleep_ms(150)
led.off()
time.sleep_ms(100)
led.on()
time.sleep_ms(150)
led.off()
time.sleep_ms(600) -
RE: 查找圆形图案中心坐标报错
from pyb import UART import sensor, image, time,pyb,struct import json import cpufreq EXPOSURE_TIME_SCALE = 1.0 def main(): sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.VGA) print("Initial exposure == %d" % sensor.get_exposure_us()) print("db == %d" % sensor.get_gain_db()) sensor.skip_frames(time = 500) sensor.set_auto_gain(False) sensor.set_auto_whitebal(False) sensor.set_auto_exposure(False,exposure_us=2000) sensor.skip_frames(time = 2000)#跳过多少毫秒的帧 clock = time.clock() # Create a clock object to track the FPS. uart2 = pyb.UART(3) uart2.init(115200, bits=8, parity=None, stop=1,read_buf_len=500) while(True): clock.tick() # Update the FPS clock. img = sensor.snapshot() print("Initial exposure == %d" % sensor.get_exposure_us()) print("db == %d" % sensor.get_gain_db()) print(clock.fps(),sensor.get_rgb_gain_db()) for c in img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 100, r_step = 2): img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0)) print(c) main()
-
查找圆形图案中心坐标报错
def main(): global Bd_num sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.VGA) print("Initial exposure == %d" % sensor.get_exposure_us()) print("db == %d" % sensor.get_gain_db()) sensor.skip_frames(time = 500) sensor.set_auto_gain(False![0_1698112339282_捕获.PNG](https://fcdn.singtown.com/bccd10ae-cfa4-4438-8179-f86bc66a7530.PNG) ) sensor.set_auto_whitebal(False) sensor.set_auto_exposure(False,exposure_us=2000) # sensor.set_hmirror(True) # sensor.set_vflip(True) sensor.skip_frames(time = 2000) clock = time.clock() # Create a clock object to track the FPS. uart2 = pyb.UART(3) uart2.init(115200, bits=8, parity=None, stop=1,read_buf_len=500) while(True): clock.tick() # Update the FPS clock. img = sensor.snapshot() print("Initial exposure == %d" % sensor.get_exposure_us()) print("db == %d" % sensor.get_gain_db()) print(clock.fps(),sensor.get_rgb_gain_db()) for c in img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 100, r_step = 2): img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0)) print(c)
-
RE: openmv4怎么样实现识别圆形色环并打印出圆心的坐标?
圆形识别中,出现这个报错是什么原因?
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE) # 灰度更快
sensor.set_framesize(sensor.VGA)
sensor.skip_frames(time = 2000)
clock = time.clock()
-
定时发送数组的问题!
# Untitled - By: admin - 周四 9月 14 2023 import sensor, image, time,pyb,struct from pyb import UART from pyb import Timer uart = pyb.UART(3) uart.init(115200, bits=8, parity=None, stop=1,read_buf_len=500) #a=0 #output_str = 'a' def sending_data(x,y): data=struct.pack("<bbhhb", 0xAA, 0x55, int(x), int(y), 0xCC) uart.write(data) def tick(timer): # global uart # global output_str # uart.write(output_str) sending_data(x,y) tim = Timer(2, freq=2) # create a timer object using timer 2 - trigger at 1Hz tim.callback(tick) # set the callback to our tick function sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time = 2000) clock = time.clock() m=0 n=0 while(True): clock.tick() img = sensor.snapshot() print(clock.fps()) sending_data(m,n) m=m+1 n=n+1
请问这段代码如何改成中断定时发送