在Lejos Java应用程序上获取python输出

时间:2019-02-02 16:18:01

标签: java nxt lejos-nxj

我想读从我的Python脚本我leJOS的java应用程序的输出。我在执行此操作时遇到了问题,因为lejos NXT的内存很小,这意味着我尝试使用的许多库都导致Java堆错误。

到目前为止,我已经尝试使用mysql表来传输数据,但是NXT无法处理库的大小。我也尝试写入excel和xml工作表,但是由于有限的内存大小而无法再次将其放入nxt。我使用的代码确实可以正常运行,就像我尝试将其作为普通的Java应用程序运行一样。

如果您对如何解决此问题有任何想法,请告诉我,谢谢

PS继承人我使用Python代码:

 base_path = os.path.dirname(os.path.realpath(__file__))

 xml_file = os.path.join(base_path, "C:\\Users\\matth\\OneDrive\\Documents\\XML\\XMLCarrier.xml")


tree = et.parse(xml_file)

root = tree.getroot()


img = cv2.imread("lines.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 75, 150)

lines = cv2.HoughLinesP(edges, 1, np.pi/180, 30, maxLineGap=250)


row = 0

x = 0
i = 0
for x1, y1, x2, y2 in lines[x]:
x = x + 1

cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 3)

text =  "{}, {}".format((x1,y1),(x2,y2))
print(text)

new_product = et.SubElement(root, "coordinate", attrib={"id": str(i)})
cx1 = et.SubElement(new_product, "x1")
cy1 = et.SubElement(new_product, "y1")
cx2 = et.SubElement(new_product, "x2")
cy2 = et.SubElement(new_product, "y2")

cx1.text = str(x1)
cy1.text = str(y1)
cx2.text = str(x2)
cy2.text = str(y2)

i = i + 1

tree.write(xml_file)

for child in root:
print(child.tag, child.attrib)

0 个答案:

没有答案