2016-11-22 3 views
0

카메라로 사진을 찍으려면이 짧은 코드를 썼습니다. 그것의 잘 작동한다 - 나는 문제를 내가 방금 한 이미지를 보여줌으로써 (& 나중에 닫는다). 내가 방금 한 이미지를 찾으려면 newest = max(glob.iglob('*.jpg'), key=os.path.getctime)을 사용하고 있습니다. 이제 이미지를 열어 보이고 싶습니다. im = Image.open(newest)im.show() - 어떤 제안이라도 있습니까?이미지를 사용하는 파이썬 디스플레이 이미지

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() 

이 편집 : 나는 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

@Matei 슬프게도 아무도, 그냥 부분을 건너 뜁니다. – piguy

답변

0

를 사용하여 보여 나던, 그러나 나는 MatPlotLib을 가리킬 것이다. (http://matplotlib.org/users/image_tutorial.html 참조). 당신이 배열로 (또는 저장된 파일) 당신이 할 수있는 이미지를이 곳

빠른 예는 단지 :

import matplotlib.pyplot as plt 
import matplotlib.image as mplImage 

# If image is not already an array then: 
image=mplImage.imread('testimage.png') 

plt.imshow(image)