Giter VIP home page Giter VIP logo

pibooth's Introduction

Pibooth

Python 3.6+ PyPi package PyPi downloads Tests Codecov

The pibooth project provides a photobooth application out-of-the-box in pure Python for Raspberry Pi. Have a look to the wiki to discover some realizations from GitHub users, and don't hesitate to send us photos of your version.

Settings

Features

  • Interface available in Danish, Dutch, English, French, German, Hungarian, Norwegian, Portuguese (Portugal and Brazil), Spanish and Swedish (customizable)
  • Capture from 1 to 4 photos and concatenate them in a final picture
  • Support all cameras compatible with gPhoto2, OpenCV and Raspberry Pi
  • Support for hardware buttons and lamps on Raspberry Pi GPIO
  • Fully driven from hardware buttons / keyboard / mouse / touchscreen
  • Auto-start at the Raspberry Pi startup
  • Animate captures from the last sequence during idle time
  • Store final pictures and the individual captures
  • Printing final pictures using CUPS server (printing queue indication)
  • Custom texts can be added on the final picture (customizable fonts, colors, alignments)
  • Custom background(s) and overlay(s) can be added on the final picture
  • All settings available in a configuration file (most common options in a graphical interface)
  • Highly customizable thanks to its plugin system, you can install plugins developed by the community from PyPI or develop your own plugin.

Documentation

Documentation

Plugins

Here is a list of known plugins compatible with Pibooth

Pibooth organisation's plugin

Third-party plugins

Third-party plugins can be found on GitHub or on plugins on PyPI. Here is a short list:

Sponsors

An enormous thanks to our sponsors:

It means a lot to us!

pibooth's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pibooth's Issues

Touchscreen Support

Is it possible to have touchscreen layout/support rather than a button configuration?

Background picture

Is there optionally the possibility to change the background RGB-Color to a uploaded .jpg or .png file to make the printed postcard more interesting?

Add GPIO pin in config

I think it would be interesting to add the GPIO pin in the config, se the user can easily change it if he already use one pin for another application. What do you think @anxuae ?

Abortion when no printer installed

After taking fotos and displaying them, the programm aborts when no further button is pressed. I've installed pibooth with no-deps, because I want to conduct it without printing photos.

Is it possible to run the programm without the printing option? My idea is, after diplaying the taken photos, return to start for a new session without fading in the printing option.

full screen touchscreen

hi,
firstly, this is an excellent project. im really impressed, it looks great and its fairly easy to use for someone like me!
i have tried using the touch screen events (take pic etc) which work very well however when i use it as full screen (via the config) the touch screen doesnt work. is there a work around for this?

Also for the GPIO buttons i am having some issues, it either doesnt work or if it does it will read multiple presses. Just for clarification the definitions in the config are they for the physical pins or the GPIO numbers.

many thanks in advance.
Jas

(currently using 1.02 and a raspberry pi official 7 inch screen)

Error in 0.0.7 , doesn't start

Hi,
I uninstalled, rebooted and installed pibooth in version 0.0.7 and started pibooth normally:

pi@raspberrypi:~ $ pibooth
Traceback (most recent call last):
File "/usr/local/bin/pibooth", line 7, in
from pibooth.ptb import main
File "/usr/local/lib/python2.7/dist-packages/pibooth/ptb.py", line 19, in
from pibooth.view import PtbWindow
File "/usr/local/lib/python2.7/dist-packages/pibooth/view.py", line 6, in
from pibooth import pictures
File "/usr/local/lib/python2.7/dist-packages/pibooth/pictures/init.py", line 6, in
from pibooth.config import PtbConfigParser
File "/usr/local/lib/python2.7/dist-packages/pibooth/config.py", line 30
"footer_text1": ("Footer 1", "First text displayed"),
^
SyntaxError: invalid syntax
pi@raspberrypi:~ $

This was the reaction. Can you help me?

Tell us! Which feature is missing?

This is not an issue so much as a lightweight way of gathering information about which feature is missing to pibooth. This is mostly to satisfy our curiosity, but might also help us decide how to evolve the project.

So, if you use pibooth, please post here and tell us more! And if you like this project, add a star โญ.

Glitch on start_preview()

Hi,

There is a glitch when there is no layout selection (for exemple with captures = (4) in configuration).
When passing from take picture screen to camera preview, the take picture screen stay for ~1s with preview on screen.
I'll try to make a picture of the glitch.

Thanks.

Crash in hybrid mode

Here is the traceback, seems to happen in very low luminosity.

Take picture and save it in /home/pi/Pictures/pibooth/2018-03-20-19-07-45/ptb000.jpg
Traceback (most recent call last):
File "/usr/local/bin/pibooth", line 11, in
load_entry_point('pibooth==0.0.8', 'console_scripts', 'pibooth')()
File "/usr/local/lib/python3.5/dist-packages/pibooth-0.0.8-py3.5.egg/pibooth/ptb.py", line 418, in main
app.main_loop()
File "/usr/local/lib/python3.5/dist-packages/pibooth-0.0.8-py3.5.egg/pibooth/ptb.py", line 373, in main_loop
self.state_machine.process(events)
File "/usr/local/lib/python3.5/dist-packages/pibooth-0.0.8-py3.5.egg/pibooth/states.py", line 57, in process
self.active_state.do_actions(events)
File "/usr/local/lib/python3.5/dist-packages/pibooth-0.0.8-py3.5.egg/pibooth/ptb.py", line 146, in do_actions
self.app.camera.capture(image_file_name)
File "/usr/local/lib/python3.5/dist-packages/pibooth-0.0.8-py3.5.egg/pibooth/controls/camera.py", line 322, in capture
file_path = self._gp_cam.capture(gp.GP_CAPTURE_IMAGE)
gphoto2.GPhoto2Error: [-110] I/O in progress

GUI to edit the configuration

A GUI can be made using pygame can be made to ease the configuration edition:

  • maybe use the library https://github.com/ppizarror/pygame-menu
  • develop it in a new python module (could be used in standalone mode to edit without starting pibooth)
  • the call to this GUI could be done in the method PiConfigParser.open_editor()

Add an option in the config to have only one choice

Request from @thifi in #31

"""
I want to make a postcard with 4 photos with a special backgraund for these 4 photos, so it is important, that the user select these option.
One way is to make the 4 photo selection as default (and if nothing selected, the 4 photos where taken). The other way is to make the selection in the config without a choise for the user (avoid the selection in frontend).
"""

My choice would be to do the second option, hence the title of the issue.

GPIO for LED-Lighting

Dear werdeil,

sorry for my bad english and my questions, I'm electronic engineer in hardware, not a software developer.

First many thanks for sharing your code for the pibooth, I want to build one for an event of my 14years old daughter called "Jugendweihe" in Germany in may.

I used your code and after some hours of study it worked on my Pi3, but I have 2 questions about:

  1. Is it possible to implement the control of another GPIO of the Pi to turn on/off an LED-light for the picam or an ambi-light on the box?

  2. I get after printing on a Selphy 1300 a postcard in portrait-mode, is it also possible to design the pictures in landscape-mode?

Many many thanks for your understanding of my problems and you help.

Best regards
Thilo

Rework code on language handling

In commit 8637726 I have introduced a language option in the config, but this option is read in the init.py of the pictures folder.

I don't like the idea of having a part of the config hidden on the init.py file. We need find a better way.

Make the live-view work with Sony DSLR

Hey,

yesterday I tested pibooth.
I have a Sony DSLR and unfortunately the firmware does not support live-view. So
I wanted to ask for the possibility, to use pibooth, without the preview function. It is not directly an issue from pibooth.

I testet gphoto2, capturing is working in console. With the sonyfirmware, unfortunally it is only possible to capture an download the original taken photo, because it does not support the function to store it on memory card.

manny thanks to the developers!

Question: Can we print a different picture than the one showing at the print page

Hi guys!
here is my thing:
Ive got Rpi + Canon selphy 1300 printer.
I'v modified the "concatenate" so i can print 2 same strips of 4 pics side by side. (in 4 pics mode of course). Then people just have to cut it with scissors and keep one for themself and leave one for the married
But i want to show only one strip on the print screen.

Is there a way to merged one picture that is shown in the application at the print screen and then at the beginning afterward, and merged another merged picture (from the same photos taken) that will be sent to the printer (in print button is pressed)

is that clear?????? can you help?

i'm new in all of this but i find it fun!!

Thanks anyway, Pibooth application is so good. Great job!

Landscape mode

Following second topic on issue #25, we need to implement a landscape mode

Saving all pictures

I was wanting to know what I would have to put extra on the line for where I am saving the pictures so all of them are saved even after they print? It is only saving the one and when we take another set it writes over and just saves the latest one. It would just be nice to be able to good look back after the event to see what everyone did.

Thanks for the help
Eric

Display the number of print waiting in the queue

I think it could be interesting to give the users a feedback on the number of print in the queue on cups side.

I'm thinking two options:

  • Give the number on a new intermediate screen after pressing the print button
  • Give the number on the main screen (small text at the bottom)

@anxuae what do you think?

Use screen as flash

Hi,

Is it possible to add a blank overlay on the screen just before taking picture (on whole screen, even on camera preview) ? In order to use the screen as a flash.

thanks in advance,
bderenzo

Neopixel LED ?!

Hey guys !

I've been trying the Neopixel LED strip , ring ... few days ago . Do you think that there is a way to integrate a script to the Pibooth so it get madly colorfull.
I've been trying but no result for now.
I've just followed these link for the setup :
https://learn.adafruit.com/neopixels-on-raspberry-pi/overview
https://github.com/jgarff/rpi_ws281x

Its just an Idea i was thinking about just make it run aside so the ambient LED Strip color is changing a bit for each picture . I also thought putting a Led ring around the piCamera so if i could synchronise it for the start of the capture that would be amazing.

anyway here is my idea , I know it a bit specific but if you guys can help in anyway that would be great!!

A

Touch screen not working only on home / full screen

Hi project works like a charm thanks. I just cannot get how to set Start screen 'take photo' to be touched. In any size, mouse / touch / gpio does the job, but not in fullscreen.
Yet once this screen is passed, in full screen, all other screens work fine with touch...
help :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.