나는 '파이썬 세계'에서 새로운데, 나는 내 아이들을위한 포토 블록을 만들려고 노력하고있다. 나는 picamera를 사서 그것에 대한 파이썬 스크립트를 작성했습니다.GUI로 파이 카메라 프리뷰 - 라즈베리 파이
python 스크립트는 간단합니다 (예 : picam의 예와 같이) : picamera를 열고 미리보기 창을 표시하고 5 초 동안 잠자기 한 후 사진을 찍습니다.
음 ... 지금까지, 아니 큰 문제가 ...
하지만 난이 Tkinter를 윈도우의 앞에 미리보기 창을 넣어하려고하면 작동하지 않습니다! 픽커 미리보기 이미지를 tkinter 프레임에 넣을 수는 없지만 미리보기 창으로 가짜 이미지를 만들 수는 있습니다. 하지만 프로그램을 실행할 때마다 카메라가 5 초 동안 나타나고 사진을 찍은 직후에 tkinter가 창을 만듭니다.
여기 (카메라 파일에서) 코드입니다, 내가 서브 프로세스를 시도하고 있지만, 아무것도 변경되지 : cam.py :
import picamera
from time import sleep
with picamera.PiCamera() as camera:
camera.preview_fullscreen=False
camera.preview_window=(620, 320, 640, 480)
camera.resolution=(640,480)
camera.start_preview()
camera.sharpness = 10
camera.contrast = 30
camera.vflip=False
camera.hflip=False
camera.exposure_mode = 'auto'
sleep(10)
#camera.stop_preview()
#camera.close()
gui.py :
여기코드입니다
from Tkinter import *
import RPi.GPIO as GPIO
import Image
from PIL import Image, ImageTk
from subprocess import Popen, PIPE
class Tela(object):
def __init__(self,master, **kwargs):
self.master=master
pad=3
self.geom='200x200+0+0'
master.geometry("{0}x{1}+0+0".format(master.winfo_screenwidth()-pad,
master.winfo_screenheight()-pad))
def toggle_geom(self, event):
geom=self.master.winfo_geometry()
print(geom,self._geom)
self.master.geometry(self._geom)
self._geom=geom
win = Tk()
win.title("test")
app=Tela(win)
frame = Frame(win)
frame.pack()
proc=Popen(["python","cam.py"],stdout=PIPE)
output=proc.communicate()[0]
print output
win.mainloop()