Es sollte gehen, ja. Wie genau ist allerdings nicht ganz klar. Du kannst so oder so zb mit Pillow den Fadenkreuz auch malen, und dann in ein numpy Array wandeln.
Was dann aber wichtig ist: das resultierende Bild darf NICHT mit add_overlay hinzugefügt werden! Stattdessen musst du update auf dem von add_overlay zurück gegebenen PiOverlayRenderer Objekt aufrufen. Ist hier dokumentiert:
http://picamera.readthedocs.io/en/relea ... ayrenderer
Fadenkreuz auf kamerabild
-
- User
- Beiträge: 90
- Registriert: Dienstag 22. Mai 2018, 07:15
Code: Alles auswählen
import picamera
from PIL import Image
from time import sleep
with picamera.PiCamera() as camera:
camera.start_preview()
img = Image.open('lol.gif')
pad = Image.new('RGBA', (
((img.size[0] + 31) // 32) * 32,
((img.size[1] + 15) // 16) * 16,
))
pad.paste(img, (0, 0), img)
o = camera.add_overlay(pad.tostring(), size=img.size)
o.alpha = 255
o.layer = 3
while True:
sleep(1)
Bin dadurch auf die Idee gekommen ein .PNG einzubinden was auch klappt.
Jetzt hänge ich aber daran wie ich die Position des Bildes festlegen kann und das Bild skalieren kann.
Hier der testcode
Du kopierts das Bild in sich selbst. Das ist doch ziemlich sinnlos. Lade ein kleineres Fadenkreuz-Bild, und paste es in ein leeres Bild, das so gross ist, wie das Kamera-Bild. Die Angabe (0, 0) ist deine Koordinate, die kannst du doch aendern im Bereich 0 bis gesamtbreite-fadenkreuzbreite (gleiches fuer die Hoehe)
-
- User
- Beiträge: 90
- Registriert: Dienstag 22. Mai 2018, 07:15
klingt logisch...
könntest du mir das so umschreiben?
so geht es bestimmt nicht oder?
Könnte es erst morgen probieren
könntest du mir das so umschreiben?
so geht es bestimmt nicht oder?
Könnte es erst morgen probieren
Code: Alles auswählen
bg = Image.open('bg.png')
img = Image.open('test.png')
pad = Image.new('RGBA', (
((bg.size[0] + 31) // 32) * 32,
((bg.size[1] + 15) // 16) * 16,
))
pad.paste(img, (0, 0), )
-
- User
- Beiträge: 90
- Registriert: Dienstag 22. Mai 2018, 07:15
[Ja hab es hin bekommen.
Wenn jemand noch eine Tip hat wie ich jetzt noch hin bekomme das PNG über Buttons zu verschieben währe super.
Die Buttons habe ich und die Position habe ich mit
Angegeben
Wenn jemand noch eine Tip hat wie ich jetzt noch hin bekomme das PNG über Buttons zu verschieben währe super.
Die Buttons habe ich und die Position habe ich mit
Code: Alles auswählen
x = 0
y = 0
-
- User
- Beiträge: 90
- Registriert: Dienstag 22. Mai 2018, 07:15
Hab jetzt mal etwas probiert um das Fadenkreuz über Buttons zu verschieben, allerdings erfolglos.
Hier die Buttons die erstellt habe zum bewegen des Fadenkreuzes
Dann die Funktion für die Buttons, die allerdings nicht funktionieren
und noch das eingebunden Fadenkreuz
Hier die Buttons die erstellt habe zum bewegen des Fadenkreuzes
Code: Alles auswählen
shu1_button = Button(self, text="links", background='steelblue1', activebackground='steelblue3', command=self.flinks)
shu1_button.place(x = 100, y = 410, width=60, height=40)
shu2_button = Button(self, text="rechts", background='steelblue1', activebackground='steelblue3', command=self.frechts)
shu2_button.place(x = 20, y = 410, width=60, height=40)
Code: Alles auswählen
def flinks(self):
global fx
wert = 5
fx = min(100, fx + wert)
self.fx.set(self.fx.get() + wert)
def frechts(self):
global fx
wert = 5
fx = min(100, fx + wert)
self.fx.set(self.fx.get() - wert)
Code: Alles auswählen
def capture(self):
print("Capture")
camera.start_preview()
img = Image.open('test.png')
pad = Image.new('RGBA',(
((img.size[0] + 31) // 32) * 32,
((img.size[1] + 15) // 16) * 16,
))
pad.paste(img, (fx, fy),)
o = camera.add_overlay(pad.tostring(), size=img.size)
o.alpha = 25
o.layer = 4
-
- User
- Beiträge: 90
- Registriert: Dienstag 22. Mai 2018, 07:15
@__deets__ Kling ja logisch aber komme leider nicht weiter.
Hat jemand vielleicht ein Beispiel Code zur hand... währe echt dankbar
Hat jemand vielleicht ein Beispiel Code zur hand... währe echt dankbar
-
- User
- Beiträge: 90
- Registriert: Dienstag 22. Mai 2018, 07:15
leider komm ich nach wienvoe nicht weiter.
sollte mir vielleicht ein Buch zu Python zulegen.
habt ihr dafür Empfehlungen von deutschsprachigen Büchern.
trotzdem bitte ich noch mal um Hilfe
Ich starte meine kamera preview mit overlay
Und möchte es mit
leider wird nur die Preview der Kamera beendet jedoch nicht das Overlay
könnt ihr mir zeigen wie ich das umsetze?
beim kopieren des Codes stimmen die einrücken nicht im Programm selber passt es aber
sollte mir vielleicht ein Buch zu Python zulegen.
habt ihr dafür Empfehlungen von deutschsprachigen Büchern.
trotzdem bitte ich noch mal um Hilfe
Ich starte meine kamera preview mit overlay
Code: Alles auswählen
def capture(self):
print("Capture")
camera.start_preview()
img = Image.open('test.png')
pad = Image.new('RGBA',(
((img.size[0] + 31) // 32) * 32,
((img.size[1] + 15) // 16) * 16,
))
pad.paste(img, (fx, fy),)
o = camera.add_overlay(pad.tostring(), size=img.size)
o.alpha = 25
o.layer = 4
Code: Alles auswählen
def stop(self):
print("Stop Capture")
camera.stop_preview()
könnt ihr mir zeigen wie ich das umsetze?
beim kopieren des Codes stimmen die einrücken nicht im Programm selber passt es aber