Получить вывод Python для Java-приложения lejos - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь прочитать вывод моего скрипта Python в моем Java-приложении lejos.У меня была проблема с этим, так как у lejos NXT есть небольшая память, означающая, что многие библиотеки, которые я пытался использовать, привели к ошибке кучи Java.

До сих пор я пытался использовать таблицу MySQL для передачиданные, но NXT не может обработать размер библиотеки.Я также пытался писать на листы Excel и XML, но не смог снова получить его на NXT из-за ограниченного объема памяти.Код, который я использовал, работает, когда я пытался запустить его как обычное Java-приложение.

Если у вас есть идеи, как обойти эту проблему, пожалуйста, дайте мне знать, спасибо

ps heresкод 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)
...