1
我是'Python世界'中的新人,我(試圖)爲我的孩子們製作相機。 我買了一個picamera併爲它寫了一個python腳本。用相機預覽的Pi相機預覽 - 樹莓派
python腳本很簡單(就像picam的例子): 打開picamera,顯示預覽窗口,睡5秒鐘並拍照。
好......到現在爲止,沒有什麼大不了的......
,但是當我試圖把預覽窗口中的Tkinter窗口的前面,不行! 我知道這是不可能把picamera預覽圖像放到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()