关于OpenMV文件写入的问题
-
想把识别到的简单数据直接写入一个文本文件,但报错
while(True): clock.tick() img = sensor.snapshot() f = open("test.txt") for tag in img.find_apriltags(families=tag_families): # defaults to TAG36H11 without "families". img.draw_rectangle(tag.rect(), color = (255, 0, 0)) img.draw_cross(tag.cx(), tag.cy(), color = (0, 255, 0)) print_args = (family_name(tag), tag.id(), (180 * tag.rotation()) / math.pi) id = tag.id() f.write(id)
-
请提供全部的代码,否则我没办法测试。
-
import sensor, image, time, math, pyb sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) # we run out of memory if the resolution is much bigger... sensor.skip_frames(time = 2000) sensor.set_auto_gain(False) # must turn this off to prevent image washout... sensor.set_auto_whitebal(False) # must turn this off to prevent image washout... clock = time.clock() tag_families = 0 tag_families |= image.TAG16H5 # comment out to disable this family tag_families |= image.TAG25H7 # comment out to disable this family tag_families |= image.TAG25H9 # comment out to disable this family tag_families |= image.TAG36H10 # comment out to disable this family tag_families |= image.TAG36H11 # comment out to disable this family (default family) tag_families |= image.ARTOOLKIT # comment out to disable this family def family_name(tag): if(tag.family() == image.TAG16H5): return "TAG16H5" if(tag.family() == image.TAG25H7): return "TAG25H7" if(tag.family() == image.TAG25H9): return "TAG25H9" if(tag.family() == image.TAG36H10): return "TAG36H10" if(tag.family() == image.TAG36H11): return "TAG36H11" if(tag.family() == image.ARTOOLKIT): return "ARTOOLKIT" while(True): clock.tick() img = sensor.snapshot() f = open("test.txt") for tag in img.find_apriltags(families=tag_families): # defaults to TAG36H11 without "families". img.draw_rectangle(tag.rect(), color = (255, 0, 0)) img.draw_cross(tag.cx(), tag.cy(), color = (0, 255, 0)) print_args = (family_name(tag), tag.id(), (180 * tag.rotation()) / math.pi) #print("Tag Family %s, Tag ID %d, rotation %f (degrees)" % print_args) id = tag.id() f.write(id) #print(clock.fps())
-
@kidswong999 麻烦了
-
需要把id从数字变为字符串,然后写入文件。
f.write(str(id))PS:你这个代码。。。只open,不close啊。
-
@kidswong999 谢提醒,close了 但改为写入字符串就又出现了了不知名错误……
-
f = open("test.txt",mode='wt')
-
@kidswong999 感谢