2016-04-02 15 views
0

ラズベリーパイでUSBウェブカメラを取り付けて画像をキャプチャし、メールで送信するコードを作成しました。私はラズベリーパイからスイッチを押したときラズベリーパイ:Pythonを使用して魚眼画像を通常の画像に変換します

subprocess.Popen(["fswebcam","-r 640x480", "image4.jpg"]) 

それが画像をキャプチャして、メールを使って送信しますが、問題は、撮影した画像は、魚眼画像とiIwantであるということです:Pythonスクリプトでのキャプチャ画像のコードがあるので、それはfswebcam commamndを使用して画像を取り込みますこの魚眼画像を通常の画像に変換するには、私はそのコマンドやラズベリーパイのPythonを使用して通常の画像に変換するコードはわかりません。 Thanks.This私のコードです:

import smtplib 
import time 
import subprocess 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEBase import MIMEBase 
from email.MIMEText import MIMEText 
from email.MIMEImage import MIMEImage 
import RPi.GPIO as GPIO 

# Define these once; use them twice! 
strFrom = '[email protected]' 
strTo = '[email protected]' 

#create email 
# Create the root message and fill in the from, to, and subj$ 
msgRoot = MIMEMultipart() 
msgRoot['Subject'] = 'capture image' 
msgRoot['From'] = strFrom 
msgRoot['To'] = strTo 


GPIO.setmode(GPIO.BCM) 
GPIO.setup(4, GPIO.IN) 
print "press button to send email" 
GPIO.setup(4,GPIO.IN,pull_up_down=GPIO.PUD_UP) 
while True: 
     input=GPIO.input(4) 
     if input == False: 
       print "button pressed" 
       subprocess.Popen(["fswebcam","-r 640x480", "image4.jpg"]) 
       time.sleep(5) 
       # This example assumes the image is in the current directory 
       fp = open('image4.jpg', 'rb') 
       msgImage = MIMEImage(fp.read()) 
       fp.close() 

       msgRoot.attach(msgImage) 
       # send mail 
       s = smtplib.SMTP('smtp.gmail.com',587) 
       s.starttls() 
       s.login('[email protected]' , 'password') 
       s.sendmail(strFrom, strTo, msgRoot.as_string()) 
       s.close() 
       print "Email sent" 
       time.sleep(0.2) 

このリンクの両方で提供される解決策を追加するので、どのように:私の上記のコードの中でhttps://github.com/kscottz/dewarphttp://www.kscottz.com/dewarped-panoramic-images-from-a-raspberrypi-camera-module/を。

答えて

0

多分これが助けることができる:
http://www.kscottz.com/dewarped-panoramic-images-from-a-raspberrypi-camera-module/

を、これが対応するレポです:
https://github.com/kscottz/dewarp

+0

をuをありがとう、これは正しいことが、plzは私が今attchedているコードの上にチェックして、plzはどのように私に言うことこのコードを追加してこのソリューションを追加してください。 plz再び上記の私の質問を読んでbcaz私はそれを編集している場合は私に解決策を与える。 –

関連する問題