MasterOfGizmo hat geschrieben:Hab' s selbst auf dem TXT noch nicht getestet, sondern nur auf dem PC. Ist auch wieder so ein 22MB-Riesen-Install.
MasterOfGizmo hat geschrieben:Da stellt sich dann recht schnell die Frage, ob man das Server-seitig (also auf dem TXT) oder Client-seitig (also auf dem PC/Tablet/Handy) ausführen lassen will. Intuitiv hätte ich erstmal Server-seitig gesagt, da man ja möglichst latenzarm den TXT steuern will.
MasterOfGizmo hat geschrieben:Aber das erschwert im Gegenzug alles, was man dann mit dem Client machen will. Also 'ne schöne Modell-spezifische GUI im Browser.
MasterOfGizmo hat geschrieben:Na da sind wir uns ja ziemlich einig. Wenn ich Zeit habe schaue ich mal, wie man remote-Python aus Blockly ausführt.
MasterOfGizmo hat geschrieben:Und ja, ein paar Sprites und etwas Turtle-Graphics ist für Blockly sicher ein guter Start.
MasterOfGizmo hat geschrieben:Aber z.B. den Programmlauf durch Highlights der Blocky-Graphic zu visualisieren dürfte nicht ganz trivial sein. Aber das kann Blocky wohl eh nicht, auch nicht wenn's Client-seitig läuft.
raspberrypi hat geschrieben:Wird es in Brickly auch Blöcke für Bilderkennung geben?
MasterOfGizmo hat geschrieben:Ist technisch kein Problem, kommt aber eher nicht in brickly. Brickly ist für Grundschulkinder. Da ist bestenfalls eine einfache Farberkennung brauchbar. Komplette Bilderkennung ist eher was fuer RoboBlocks.
raspberrypi hat geschrieben:Die Bilderkennung in RoboPro ist von der Bedienerfreundlichkeit auf jeden Fall deutlich komfortabler als zum Beispiel OpenCV, das ist aber klar...
Es gibt zwar keine Funktionen wie die Kantenerkennung oder dem Vergleichen von Bildern, aber Elemente wie Linienerkenner oder Farberkenner sind ganz gut realisiert und sind auch für Unerfahrene mit etwas Herumprobieren ganz gut zu verwenden. Aber "nicht viel" ist immerhin etwas womit sich arbeiten lässt - wobei die Kamera bei mir der haubt Kaufgrund für einen TXT im Gegensatz zu einem billigeren TX war.
import time
import ftrobopytools.so
# initialize camera (/dev/video0)
fps = 15 # frames per second
width = 320 # width of camera image
height = 240 # height of camera image
videv = ftrobopytools.camInit(fps, width, height, 0, 0)
time.sleep(2) # give camera some time to adjust to brightness
# detect lines along horizontal line
yhorizon = 100 # horizontal line y coord
xmin = width + 20
xmax = width - 20
min_line_width = 3 # minimum width of detected lines
max_line_width = 20 # maximum width of detected lines
numlines = 5 # number of lines to detect (max 5)
threshold = 30 # threshold value for contrast
brightness = 20 # brightness of lines
lines=ftrobopytools.detectLines(videv, width, height, horizon, min, xmas, min_line_width, max_line_width, numlines, threshold, brightness, 0)
print("found ", len(lines), " lines along horizonal" )
for k in range(len(lines)):
print("line ", " nr. ", k," :")
print("position (center of line) = ", lines[k][0])
print("width of line = ", lines[k][1])
print("red value = ", lines[k][2])
print("green value = ", lines[k][3])
print("blue value = ", lines[k][4])
# measure average red, green, blue color within a rectangular region of the image
xtopleft = 20
ytopleft = 20
xbottomright = 80
ybottomright = 80
red, green, blue = ftrobopytools.measureRGBColor(video, width, height, xtopleft, ytopleft, xbottomright, ybottomright, 0)
print("average red, green and blue color = ", red, green, blue)
ftrobopytools.camClose(videv)
MasterOfGizmo hat geschrieben:Klingt interessant. Blockly/Brickly führt so wie wir das vor haben den Code immer auf dem TXT aus. Wäre also kein Problem.
Zurück zu TXT-Sonderprogrammierungen
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste