【报错】无法打开"application/octet-stream"类型的文件
-
在做一个有关识别apriltag的项目,想把摄像头与apriltag的距离(是个小数),向下取整后转换为十六进制,通过串口发送出去。但是每次识别到apiltag过一段时间就会报错。
报完这个错误后,点击确定,还有一个提示,如下如:
下图是终端中提示的信息
import sensor, image, time, math from pyb import UART uart = UART(3, 115200) sensor.reset() sensor.set_framerate(0<<9|3<<11) sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(90)#上面这些都是OpenMv里面的sensor模块 sensor.set_auto_gain(False)#自动增益需要关掉 sensor.set_auto_whitebal(False)#白平衡需要关掉 clock = time.clock() f_x = (2.8 / 3.984) * 160 f_y = (2.8 / 2.952) * 120 c_x = 160 * 0.5 c_y = 120 * 0.5 chang=0 #初始化距离为零 while(True): clock.tick() #设置时钟 img = sensor.snapshot()#捕获图片 tag = img.find_apriltags() if tag: for tag in img.find_apriltags(fx=f_x, fy=f_y, cx=c_x, cy=c_y):#对捕获的图片进行遍历处理 img.draw_rectangle(tag.rect(), color = (255, 0, 0)) img.draw_cross(tag.cx(), tag.cy(), color = (0, 255, 0)) print_args = (tag.x_translation(), tag.y_translation(), tag.z_translation()) k=20/math.sqrt(1.4484983**2+0.7051393**2+7.4014117**2) s=math.sqrt(tag.x_translation()**2+tag.y_translation()**2+tag.z_translation()**2)#未知距离时的apriltag的坐标 length=s*k#利用成像原理数学公式计算真实长度 chang=length distance = eval(hex(int(length)).replace('0x','')) a = [0xaa,distance,0x00,0x55] print(a) # print("Tx: %f, Ty %f, Tz %f" % print_args) # print('length: %f' %length) if(length>=25): uart.write(bytearray(a)) time.sleep_ms(1000) print(a) elif((length>=15)and(length<25)): uart.write(bytearray(a)) time.sleep_ms(1000) print(a) elif(length<15): uart.write(bytearray(a)) time.sleep_ms(1000) print(a) else: uart.write(bytearray([0xaa,0x02,0x00,0x55])) print("未识别到apriltag") time.sleep_ms(100)
这是程序代码,希望有了解的人可以指导一下,感激不尽!
-
找了一下以往的帖子,有一个比较相近的问题,如下图:
可是我也没有设计神经网络呀,很纳闷
-
你的代码报错很清楚。一看第33行就有问题。
distance = int(length)就完事了,不要用eval