导航

    • 登录
    • 搜索
    • 版块
    • 产品
    • 教程
    • 论坛
    • 淘宝
    1. 主页
    2. ylvc
    3. 帖子
    Y
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 帖子
    • 楼层
    • 最佳
    • 群组

    ylvc 创建的帖子

    • Y

      为什么不把sensor.reset()等方法注释,openmv就不能在串口接收到数据?
      OpenMV Cam • • ylvc

      10
      0
      赞同
      10
      楼层
      5954
      浏览

      然后把函数也不要,直接操作uart,最终你就会知道uart哪一个函数出问题了。
    • Y

      小智智,为什么在main函数里定义了好几个函数,编译起来帧率这么低,图像捕捉直接卡住了?
      OpenMV Cam • • ylvc

      3
      0
      赞同
      3
      楼层
      2494
      浏览

      Y

      @kidswong999 编译似乎没有错,就是想知道有什么改进的方法提高我的帧数? main.py # Untitled - By: Lee - 周六 1月 26 2019 # 收开始命令 扫码 找色块 测距 发距离 import sensor, image, time from pyb import UART import json from sending import receive_data from sending import sending_data import Sao_Ma import Measure sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(time = 2000) clock = time.clock() uart = UART(3, 19200) L = 0 while True: order = receive_data() if order != 0: #开始执行命令 fan_kui = Sao_Ma.ma() #扫码 uart.write('fan_kui') #反馈扫码的数字(整数) time.sleep(1000) N = receive_data() if N == 1: L = Measure.measure_distance(N) print(L) uart.write('L') #返回距离大小 elif N == 2: L = Measure.measure_distance(N) print(L) uart.write('L') else: L = Measure.measure_distance(N) print(L) uart.write('L') print(clock.fps()) Measure.py # Untitled - By: Lee - 周五 2月 22 2019 # Single Color RGB565 Blob Tracking Example # # This example shows off single color RGB565 tracking using the OpenMV Cam. import sensor,image,math,time import sending threshold_index = 0 # 0 for red, 1 for green, 2 for blue # Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max) # The below thresholds track in general red/green/blue things. You may wish to tune them... red_thresholds = (36, 66, 14, 72, -6, 60) # generic_red_thresholds #只有红色 green_thresholds = (70, 100, -10, 7, 0, 35) # generic_green_thresholds #只有绿色 blue_thresholds = (34, 50, -17, 22, -40, -10) # generic_blue_thresholds #只有蓝色 #while (True): # View_Color() # Measure the distance # # This example shows off how to measure the distance through the size in imgage # This example in particular looks for yellow pingpong ball. # For color tracking to work really well you should ideally be in a very, very, # very, controlled enviroment where the lighting is constant... #yellow_threshold = ( 56, 83, 5, 57, 63, 80) # You may need to tweak the above settings for tracking green things... # Select an area in the Framebuffer to copy the color settings. sensor.reset() # Initialize the camera sensor. sensor.set_pixformat(sensor.RGB565) # use RGB565. sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed. sensor.skip_frames(10) # Let new settings take affect. sensor.set_auto_whitebal(False) # turn this off. clock = time.clock() # Tracks FPS. i = sending.receive_data() K=5000 #the value should be measured 需根据要识别物体来确定初始化比例大小 #实际大小=K*宽的像素 # Single Color RGB565 Blob Tracking Example # # This example shows off single color RGB565 tracking using the OpenMV Cam. #分别给i赋值1,2,3 def R_G_B(j): #寻找最大色块的坐标 if j <= 3: max_size=0 clock.tick() img = sensor.snapshot() if j == 1: blob = img.find_blobs([red_thresholds]) #色块中心的 elif j ==2: blob = img.find_blobs([green_thresholds]) else: blob = img.find_blobs([blue_thresholds]) #if blob.pixels() > max_size: #max_blob = blob #max_size = blob.pixels() #img.draw_rectangle(blob.rect()) #img.draw_cross(blob.cx(), blob.cy()) #return max_blob #print('sum :', len(blob)) #else: #return 0 return blob print(clock.fps()) def R_G_B_center(k): m = R_G_B(j) x = blob.cx() y = blob.cy() return x,y #while True: # R_G_B(1) def measure_distance(i): m = i clock.tick() # Track elapsed milliseconds between snapshots(). img = sensor.snapshot() # Take a picture and return the image. blobs = R_G_B(m) length = 0 if len(blobs) == 1: # Draw a rect around the blob. b = blobs[0] img.draw_rectangle(b[0:4]) # rect img.draw_cross(b[5], b[6]) # cx, cy if abs(b[2]-b[3])>2: #判断是否为球、正方体或其他立方体 Lm = b[3] else: Lm = (b[2]+b[3])/2 length = K/Lm #距离 = k/直径的像素 print(length) return length #print(b[2]) #while True: # ff = measure_distance(1) # print(clock.fps()) # Note: Your OpenMV Cam runs about half as fast while # connected to your computer. The FPS should increase once disconnected. Sao_Ma.py import sensor, image,time sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) # can be QVGA on M7... sensor.skip_frames(30) sensor.set_auto_gain(False) # must turn this off to prevent image washout... clock = time.clock() def ma(): clock.tick() img = sensor.snapshot() img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens. for code in img.find_qrcodes(): img.draw_rectangle(code.rect(),color = (0,0,0)) numbers = code.payload() if code.payload() >= '0': numbers = list(map(int, numbers)) number = numbers[0]*100+numbers[1]*10+numbers[2] return nunmer #print(number) break sending.py # Untitled - By: Lee - 周日 2月 3 2019 import time from pyb import UART uart = UART(3, 115200) uart.init(115200, bits=8, parity=None, stop=1) # init with given parameters def sending_data(jj): global uart j = jj print(j) uart.write('j') #反馈字符串 def receive_data(): global uart if uart.any(): tmp_data = uart.readline() uart.write("RECIVED : %s\n"%tmp_data) print(tmp_data) return tmp_data else: return 1 #while(True): # sending_data(1) # receive_data() # time.sleep(1000)
    • Y

      参考测距例程后的语法问题
      OpenMV Cam • • ylvc

      6
      0
      赞同
      6
      楼层
      4340
      浏览

      你写的函数我又不知道用处是什么。又不可能给你改。
    • Y

      不明白编译器的错误提示,请指点一下
      OpenMV Cam • • ylvc

      4
      0
      赞同
      4
      楼层
      3607
      浏览

      你看一下以前的sending.py保存到电脑的哪个文件里了。
    • Y

      搞不懂的语法错误
      OpenMV Cam • • ylvc

      3
      0
      赞同
      3
      楼层
      2339
      浏览

      Y

      @kidswong999 谢谢小智智
    • Y

      搞不懂的语法错误,求指点
      OpenMV Cam • • ylvc

      2
      0
      赞同
      2
      楼层
      1760
      浏览

      涉及代码请附上代码的文本,注意不要发代码的图片
    • Y

      请问如何一边巡双线,一边记录路径上的直角来实现计数
      OpenMV Cam • • ylvc

      1
      0
      赞同
      1
      楼层
      1883
      浏览

      尚无回复