2016-11-22 17 views
0

私はこの短いコードをカメラで撮影するように書いています。そのうまくいっている - 私はちょうど行ったイメージを表示する問題を(後で閉じる&)閉じます。私はちょうど今行ったイメージを見つけるためにnewest = max(glob.iglob('*.jpg'), key=os.path.getctime)を使用しています - 今、私は開いて、画像を表示したいですか?im = Image.open(newest)im.show() - どのような提案ですか?python表示画像を使用して画像

import Image 
import picamera 
import time 
import sys 
import datetime 
import RPi.GPIO as GPIO 
import glob 
import os 

GPIO.setmode(GPIO.BCM) 
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP) 
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP) 
now = datetime.datetime.now() 
camera = picamera.PiCamera() 
camera.resolution = (1920, 1080) 
camera.framerate = 24 
camera.start_preview() 
while True: 
     input_state=GPIO.input(16) 
     input_state2=GPIO.input(18) 
     if input_state == False: 
         zahlen = [4,3,2,1,0] 
         for i in zahlen: 
           camera.annotate_text = '' + str(i+1) 
           n = i+1 
           print n 
           time.sleep(1) 
         camera.annotate_text = '' 
         camera.capture('Hausmesse_' + str(now.hour) + ':' + str(now.minute) + ':' + str(now.second) + '.jpg') 
         newest = max(glob.iglob('*.jpg'), key=os.path.getctime) 
         im = Image.open(newest) 
         im.show() 
         time.sleep(5) 

     if input_state2 == False: 
       #time.sleep(5) 
       sys.exit() 

EDIT:

私はmatplotlibを使用してみました - それはイメージimage=mplImage.imread(newest)のために私にデータを提供しますが、私はあまりにもイメージを使用して経験していないよ、コマンドにplt.imshow(image)

[[[125 106 128] 
    [123 106 125] 
    [117 103 120] 
    ..., 
    [157 133 147] 
    [155 131 145] 
    [154 130 144]] 

[[129 110 132] 
    [126 109 128] 
    [116 103 120] 
    ..., 
    [154 130 144] 
    [154 130 144] 
    [159 135 149]] 

[[127 109 131] 
    [124 109 130] 
    [118 105 123] 
    ..., 
    [157 133 146] 
    [155 129 145] 
    [155 131 145]] 

..., 
[[130 129 134] 
    [127 126 131] 
    [124 122 125] 
    ..., 
    [211 206 203] 
    [210 205 202] 
    [209 204 201]] 

[[128 126 131] 
    [126 124 129] 
    [133 128 134] 
    ..., 
    [209 203 203] 
    [209 203 203] 
    [212 206 206]] 

[[135 133 138] 
    [130 128 133] 
    [129 124 130] 
    ..., 
    [210 204 204] 
    [210 204 204] 
    [212 206 206]]] 
+0

すべてのエラーメッセージ? – Matei

+0

@マテイ悲しいことに、それはちょうどその部分をスキップします。 – piguy

答えて

0

を使用してそれを表示doesntの、私はMatPlotLibを指摘します。 (http://matplotlib.org/users/image_tutorial.html参照)。あなたは、アレイ(あるいは保存されたファイル)として、あなたのイメージを持っているところ

簡単な例では、あなただけのことができます:

​​
関連する問題