openmv可以用手机充电器供电吗?如果是供电电路那应该是咋样的?
-
# vision distance - By: SingTown - Wed Jul 30 2025 import sensor import time # 设置VGA画面,并裁剪中间的画面 sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.VGA) sensor.set_windowing((200,240)) sensor.skip_frames(time=2000) clock = time.clock() # Tracks FPS. CENTER_X = 200/2 CENTER_Y = 240//2 # 边框的真实长度,单位mm FRAME_WIDTH_MM = 170 FRAME_HIGHT_MM = 245 # 校准的数据 # 例如: 当距离是1400mm时,边框宽度为82像素 # DISTANCE_MM_1 = 1100 # FRAME_WIDTH_PIXEL_1 = 104 DISTANCE_MM_2 = 1520 FRAME_WIDTH_PIXEL_2 = 69 FRAME_HEIGHT_PIXEL_2 = 100· # DISTANCE_MM_3 = 1800 # FRAME_WIDTH_PIXEL_3 = 64 def find_center_min_blob(blobs): # 找中间最小的色块 blob = None min_area = 100000 for b in blobs: if abs(b.cx()-CENTER_X)+ abs(b.cy()-CENTER_Y) > 50: continue if b.area() > min_area: continue blob = b min_area = b.area() return blob def find_center_max_blob(blobs): # 找中间最大的色块 blob = None max_area = 0 for b in blobs: if abs(b.cx()-CENTER_X)+ abs(b.cy()-CENTER_Y) > 50: continue if b.area() < max_area: continue blob = b max_area = b.area() return blob while True: clock.tick() img = sensor.snapshot() # 找白色色块,黑色边框内部 frames = img.find_blobs([(150,256)]) frame_blob = find_center_min_blob(frames) if not frame_blob: print("NO FRAME") continue # 计算距离 distance = DISTANCE_MM_2*FRAME_HEIGHT_PIXEL_2/frame_blob.h() # 缩小roi,避免黑框的黑边 frame_roi = (frame_blob.x()+5, frame_blob.y()+5, frame_blob.w()-10, frame_blob.h()-10) if frame_roi[2] <= 0 or frame_roi[3] <= 0: print("ROI ERROR") continue print(frame_roi) # 找黑色色块,目标物体 objs = img.find_blobs([(0,150)],roi=frame_roi) obj_blob = find_center_max_blob(objs) if not obj_blob: print("NO OBJS") continue # 计算物体边长 obj_w_mm = obj_blob.w()/frame_blob.w()*FRAME_WIDTH_MM print(frame_blob.w(), frame_blob.h()) print(obj_blob.density()) if 0.9 < obj_blob.density() : print("矩形") elif 0.6 < obj_blob.density(): print("圆形") elif 0.4 < obj_blob.density(): print("三角形形") else: print("无法识别到形状") img.draw_string(10,10, "length:"+str(obj_w_mm)+"mm") img.draw_string(10,20, "distance:"+str(distance)+"mm") img.draw_rectangle(frame_blob.rect()) img.draw_rectangle(obj_blob.rect())
-
USB供电为5V就行