巡线小车中路线区域为什么是黑色的
-
想问问寻迹小车设置好阈值后,黑色路线在视野中为什么是黑色区域的而不是白色的区域,在有什么影响吗![0_1712714525555_ZW5G[1TOECN7)41UU4HF$LS.png](正在上传 0%)
-
就是这样子
-
设置阈值的时候我也进行反转,把需要追踪的圈为白色像素了
-
运行起来后,小车就是一直转圈圈的状态,找不到线
-
如果你在阈值助手里加了反转,那么代码里也要加invert=True
-
@kidswong999 在 巡线小车中路线区域为什么是黑色的 中说:
invert=True
请问是要在哪里加呀
-
需要全部代码文本,我才能知道在你哪个代码里改,请注意不要贴代码图片。
或者是,你不要阈值助手里选择反转。把L最小值调成0,把L最大值调成26。
-
THRESHOLD =(32, 100, -48, 78, -78, 127) # Grayscale threshold for dark things... import sensor, image, time from pyb import LED import car from pid import PID rho_pid = PID(p=0.4, i=0) theta_pid = PID(p=0.001, i=0) LED(1).on() LED(2).on() LED(3).on() sensor.reset() sensor.set_vflip(True) sensor.set_hmirror(True) sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQQVGA) # 80x60 (4,800 pixels) - O(N^2) max = 2,3040,000. #sensor.set_windowing([0,20,80,40]) sensor.skip_frames(time = 2000) # WARNING: If you use QQVGA it may take seconds clock = time.clock() # to process a frame sometimes. while(True): clock.tick() img = sensor.snapshot().binary([THRESHOLD]) line = img.get_regression([(100,100)], robust = True) if (line): rho_err = abs(line.rho())-img.width()/2 if line.theta()>90: theta_err = line.theta()-180 else: theta_err = line.theta() img.draw_line(line.line(), color = 127) print(rho_err,line.magnitude(),rho_err) if line.magnitude()>8: #if -40<b_err<40 and -30<t_err<30: rho_output = rho_pid.get_pid(rho_err,1) theta_output = theta_pid.get_pid(theta_err,1) output = rho_output+theta_output car.run(50+output, 50-output) else: car.run(0,0) else: car.run(50,-50) pass #print(clock.fps())
-
@kidswong999 这是阈值反转后的代码
-
@kidswong999 按照你说的第二个方法貌似可以实现了所追踪区域是白色块的效果,谢谢佬,但这个场地纸太小了,我下午换个试试