色块跟踪实验为什么要关掉白平衡?
1
18229941233
@18229941233
0
声望
20
楼层
1338
资料浏览
0
粉丝
0
关注
18229941233 发布的帖子
-
两个MV之间通信怎么清空接收方UART.ANY()里的数据从而重新查询。
import sensor, image, time from pyb import UART from pyb import Servo import cpufreq import pyb 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... thresholds = [(58, 88, 57, -4, 20, 70)] # generic_red_thresholds # generic_green_thresholds # generic_blue_thresholds threshold2 = [(30, 47, -39, 19, 20, 42)] avg=[0,0,0,0,0,0,0,0,0,0,0,0] sort2_servo=Servo(1) led = pyb.LED(3) #cpufreq.set_frequency(cpufreq.CPUFREQ_216MHZ) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(time = 2000) sensor.set_auto_gain(False) # must be turned off for color tracking sensor.set_auto_whitebal(False) # must be turned off for color tracking clock = time.clock() # Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are # returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the # camera resolution. "merge=True" merges all overlapping blobs in the image. uart=UART(3,115200) def find_max(blobs): max_size=0 for blob in blobs: if blob[2]*blob[3] > max_size: max_blob=blob max_size = blob[2]*blob[3] return max_blob ROI=(0,0,1,1) while(True): data = 0 clock.tick() img = sensor.snapshot() sort2_servo.angle(-900) time.sleep(20) #time.sleep(10) blobs = img.find_blobs([thresholds[0]], pixels_threshold=80, area_threshold=850, merge=True) if blobs: max_blob = find_max(blobs) ROI = max_blob.rect() xc = max_blob.cx() yc = max_blob.cy() x = max_blob.x() y = max_blob.y() xn = int(xc-(xc-x)*7/10) yn = int(yc-(yc-y)*7/10) wn = (xc-xn)*2 hn = (yc-yn)*2 ROI = (xn, yn, wn, hn) img.binary(thresholds) #Bimg.erode(2) #img.dilate(1) statistics=img.get_statistics(roi=ROI) avg = statistics.mean() print(avg) if(uart.any()): data = uart.readline() if ( data!=0):#avg>=50 and avg<=95 or print("bad") print(data) print(uart.any()) #led.on() #time.sleep(150) #ed.off() sort2_servo.angle(0) #添加时期2018.4.20 time.sleep(1000) #添加时期2018.4.20 sort2_servo.angle(-900) #添加时期2018.4.20 time.sleep(1000) #添加时期2018.4.20 data = 0 elif (avg>95): sort2_servo.angle(-900) #添加时期2018.4.20 time.sleep(100) print("good") print(uart.any()) #print(clock.fps()) #print(cpufreq.get_frequency())
-
ROI取值float转换成int型怎么做?
# Single Color RGB565 Blob Tracking Example # # This example shows off single color RGB565 tracking using the OpenMV Cam. import sensor, image, time 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... thresholds = [(100, 37, -40, 127, 12, 127)] # generic_red_thresholds # generic_green_thresholds # generic_blue_thresholds threshold2 = [(30, 47, -39, 19, 20, 42)] sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time = 2000) sensor.set_auto_gain(False) # must be turned off for color tracking sensor.set_auto_whitebal(False) # must be turned off for color tracking clock = time.clock() # Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are # returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the # camera resolution. "merge=True" merges all overlapping blobs in the image. def find_max(blobs): max_size=0 for blob in blobs: if blob[2]*blob[3] > max_size: max_blob=blob max_size = blob[2]*blob[3] return max_blob ROI=(0,0,1,1) while(True): clock.tick() img = sensor.snapshot() blobs = img.find_blobs([thresholds[0]], pixels_threshold=800, area_threshold=800, merge=False) if blobs: max_blob = find_max(blobs) print(max_blob.rect()) #img.draw_rectangle(max_blob.rect()) #img.draw_cross(max_blob.cx(), max_blob.cy()) ROI = max_blob.rect() xc = max_blob.cx() yc = max_blob.cy() x = max_blob.x() y = max_blob.y() xn = xc-(xc-x)*8/10 int(xn) yn = yc-(yc-y)*8/10 int(yn) wn = (xc-xn)*2 int(wn) hn = (yc-yn)*2 int(hn) ROI = (xn, yn, wn, hn) img.binary(thresholds) img.dilate(2, threshold = 10) statistics=img.get_statistics(roi=ROI) avg = statistics.mean() print(avg) print(clock.fps())
-
openmv接两个大舵机,舵机转动工作的时候抖动地厉害
openmv接两个大舵机,舵机转动工作的时候抖动地厉害,我怀疑是细分的不好,不知道大伙怎么看,可不可以进到函数里面赶下舵机的精度?
-
openmv的模块库下载
我在星瞳的教程上发现了这个网址https://github.com/SingTown/OpenMV-lib
教程上说这个网址里有各个模块库的例程,但我没看到,是跑到哪里去了?