lepton的镜头,同一段程序,运行一段时间以后就会发生这种情况
6uis 发布的帖子
-
关于红外镜头运行一段时间后画面会出现明暗变化
为什么装备红外镜头的摄像头在正常运行时,同一段程序运行一段时间后,画面会出现明暗变化呢?每次设置完成的参数运行一段时间后就会不一样,该问题如何解决
![1_1659510896825_IMG_20220803_111421.jpg](正在上传 0%) ![0_1659510896824_IMG_20220803_111359.jpg](正在上传 0%) -
RE: attributeerror:'tf_modle' object has no attribute 'detect'
请问下 是什么原因出现的错误? 错误发生在第46行
-
attributeerror:'tf_modle' object has no attribute 'detect'
# Edge Impulse - OpenMV Object Detection Example import sensor, image, time, os, tf, math, uos, gc sensor.reset() # Reset and initialize the sensor. sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE) sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240) sensor.set_windowing((240, 240)) # Set 240x240 window. sensor.skip_frames(time=2000) # Let the camera adjust. net = None labels = None min_confidence = 0.5 try: # load the model, alloc the model file on the heap if we have at least 64K free after loading net = tf.load("trained.tflite", load_to_fb=uos.stat('trained.tflite')[6] > (gc.mem_free() - (64*1024))) except Exception as e: raise Exception('Failed to load "trained.tflite", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')') try: labels = [line.rstrip('\n') for line in open("labels.txt")] except Exception as e: raise Exception('Failed to load "labels.txt", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')') colors = [ # Add more colors if you are detecting more than 7 types of classes at once. (255, 0, 0), ( 0, 255, 0), (255, 255, 0), ( 0, 0, 255), (255, 0, 255), ( 0, 255, 255), (255, 255, 255), ] clock = time.clock() while(True): clock.tick() img = sensor.snapshot() # detect() returns all objects found in the image (splitted out per class already) # we skip class index 0, as that is the background, and then draw circles of the center # of our objects for i, detection_list in enumerate(net.detect(img, thresholds=[(math.ceil(min_confidence * 255), 255)])): if (i == 0): continue # background class if (len(detection_list) == 0): continue # no detections for this class? print("********** %s **********" % labels[i]) for d in detection_list: [x, y, w, h] = d.rect() center_x = math.floor(x + (w / 2)) center_y = math.floor(y + (h / 2)) print('x %d\ty %d' % (center_x, center_y)) img.draw_circle((center_x, center_y, 12), color=colors[i], thickness=2) print(clock.fps(), "fps", end="\n\n")
-
RE: Type Error: function missing 1 required positional arguments
不用了,问题解决 具体咋解决的我也不知道。。。。。。。。
-
Type Error: function missing 1 required positional arguments
Type Error: function missing 1 required positional arguments
求教 为啥会出现这种错误啊import sensor, image, time,pyb,lcd
import pyb, machine, sensor, image, pyb, os, lcd, time
led_R = pyb.LED(1)
led_G = pyb.LED(2)
led_B = pyb.LED(3)
led_R.off()
led_G.off()
led_B.off()
lcd.init()
from pyb import Pin,Timer,RTCpin1 = Pin('P1', Pin.IN, Pin.PULL_DOWN)
pin4 = Pin('P4', Pin.IN, Pin.PULL_DOWN)
pin5 = Pin('P5', Pin.OUT, Pin.PULL_NONE)
pin6 = Pin('P6', Pin.OUT, Pin.PULL_NONE)
pin9 = Pin('P9', Pin.OUT, Pin.PULL_NONE)
light=Timer(2,freq=50000).channel(1,Timer.PWM,pin=Pin("P6")) #LED灯亮度调节
a=0
roi01 = (170,170,225,300)
Count01 = 0
Count02 = 0
Count_ok = 0
Count_ng = 0
result = 0
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.VGA)
sensor.set_windowing((0,0,500,400))
sensor.skip_frames(time = 1000)
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)
def check01(): #2.0T
thresholds = [(35, 68, -20, 18, -59, -29),(68, 100, -35, -10, -58, -16)]
Count_ok = 0
Count_ng = 0
roi01 = (170,170,225,300)
for i in range(3):
a=0
light.pulse_width_percent(a)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.VGA)
sensor.set_windowing((0,0,500,400))
sensor.skip_frames(time = 1000)
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)
img=sensor.snapshot()
lcd.display(img,roi=roi01)
if Count_ok >= 13:
break
a=80
light.pulse_width_percent(a)
for y in range(15):
img=sensor.snapshot()
lcd.display(img,roi=roi01)
for blob in img.find_blobs(thresholds,roi=(175,135,190,95),pixels_threshold=100,area_threshold=100, merge=True,margin=7000):
if blob.area()>1500 and blob.area()<23000:
img.draw_rectangle(blob.rect(),color=(255,0,0))
img.draw_cross(blob.cx(),blob.cy())
img.draw_string(170,170,"OK",color=(255,255,255),scale=3,mono_space=False)
lcd.display(img,roi=roi01)
area=blob.area()
print('OK')
print(area)
Count_ok += 1
else:
img.draw_rectangle(blob.rect(),color=(255,0,0))
img.draw_cross(blob.cx(),blob.cy())
img.draw_string(170,170,"NG",color=(255,255,255),scale=3,mono_space=False)
lcd.display(img,roi=roi01)
area=blob.area()
print('NG')
print(area)
Count_ng += 1
if Count_ok > 8:
return True
else:
return False
def check02(): #1.5T
thresholds = [(49, 76, -31, -15, 7, 65),(64, 100, -35, 2, 8, 60)]
Count_ok = 0
Count_ng = 0
roi01 = (170,170,225,300)
for i in range(3):
a=0
light.pulse_width_percent(a)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.VGA)
sensor.set_windowing((0,0,500,400))
sensor.skip_frames(time = 1000)
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)
img=sensor.snapshot()
lcd.display(img,roi=roi01)
if Count_ok >= 13:
break
a=80
light.pulse_width_percent(a)
for y in range(15):
img=sensor.snapshot()
lcd.display(img,roi=roi01)
for blob in img.find_blobs(thresholds,roi=(185,135,190,95),pixels_threshold=300,area_threshold=200, merge=True,margin=300):
if blob.area()>2500 and blob.area()<20000:
img.draw_rectangle(blob.rect(),color=(255,0,0))
img.draw_cross(blob.cx(),blob.cy())
img.draw_string(170,170,"OK",color=(255,255,255),scale=3,mono_space=False)
lcd.display(img,roi=roi01)
area=blob.area()
print('OK')
print(area)
Count_ok += 1
else:
img.draw_rectangle(blob.rect(),color=(255,0,0))
img.draw_cross(blob.cx(),blob.cy())
img.draw_string(170,170,"NG",color=(255,255,255),scale=3,mono_space=False)
lcd.display(img,roi=roi01)
area=blob.area()
print('NG')
print(area)
Count_ng += 1
if Count_ok > 8:
return True
else:
return Falsewhile(True):
img=sensor.snapshot()
value1=pin1.value()
value4=pin4.value()
if value1==1: #2.0T
rtc = RTC
datetime = rtc.datetime()
ye = str(datetime[0])
mon = '%02d' %datetime[1]
day = '%02d' %datetime[2]
hou = '%02d' %datetime[4]
minu = '%02d' %datetime[5]
sec = '%02d' %datetime[6]
subsec = str(datetime[7])file_name = 'NG'+ye+mon+day+hou+minu+sec Count01 += 1 if Count01 == 1: lcd.display(img) result = check01() else: if result == True: led_G.on() print('2.0T OK') a=0 light.pulse_width_percent(a) pin5.value(1) img.draw_string(170,170," 2.0T OK",color=(0,0,255),scale=4,mono_space=False) lcd.display(img,roi=roi01) elif result == False: led_R.on() print('total ng') sensor.snapshot().save("NG/%s.jpg"%(file_name)) a=0 light.pulse_width_percent(a) pin9.value(1) img.draw_string(170,170," 2.0T NG",color=(0,0,255),scale=4,mono_space=False) lcd.display(img,roi=roi01) elif value4==1: #1.5T rtc = RTC datetime = rtc.datetime() ye = str(datetime[0]) mon = '%02d' %datetime[1] day = '%02d' %datetime[2] hou = '%02d' %datetime[4] minu = '%02d' %datetime[5] sec = '%02d' %datetime[6] subsec = str(datetime[7]) file_name = 'NG'+ye+mon+day+hou+minu+sec Count02 += 1 if Count02 == 1: lcd.display(img) result = check02() else: if result == True: led_G.on() print('total OK') a=0 light.pulse_width_percent(a) pin5.value(1) img.draw_string(170,170," 1.5T OK",color=(0,0,255),scale=4,mono_space=False) lcd.display(img,roi=roi01) elif result == False: led_R.on() print('total ng') sensor.snapshot().save("NG/%s.jpg"%(file_name)) a=0 light.pulse_width_percent(a) pin9.value(1) img.draw_string(170,170," 1.5T NG",color=(0,0,255),scale=4,mono_space=False) lcd.display(img,roi=roi01) else: img.draw_string(210,170," NO",color=(0,0,0),scale=3,mono_space=False) img.draw_string(210,200," KU",color=(0,0,0),scale=3,mono_space=False) img.draw_string(210,230," SKID",color=(0,0,0),scale=3,mono_space=False) lcd.display(img,roi=roi01) print('no skid') pin5.value(0) pin9.value(0) a=0 light.pulse_width_percent(a) Count01 = 0 Count02 = 0 led_R.off() led_G.off() led_B.off()
-
RE: 请问下,摄像头保存图片的话能否使用时间作为图片文件名称?该如何实现?
@kidswong999 如果可以的话,程序有办法设置USB断电时,电池只保证RTC正常计时,不会运行检测程序么?这样电池能够使用的时间长一些。由于没有办法确定具体何时断电,pyb.stop没办法设置。。
-
请问下,摄像头保存图片的话能否使用时间作为图片文件名称?该如何实现?
我想达成的需求就是使用日期+时间的名称保存图片,现在使用的摄像头供电方式为USB供电,能不能在此基础上增加电池供电,保证断电时RTC正常计时不会复位?
另,摄像头能不能实现USB供电时为电池充电的功能。。。。