benjamin7785
Posts: 26
Joined: Tue May 20, 2014 6:27 am

Re: Thought id share: Wedding Photo Booth

Thu May 07, 2015 8:52 am

I'm currently not at home but I stumbled across this:
adding this to

Code: Select all

sudo nano /etc/network/interfaces

Code: Select all

post-up route del default gw 192.168.3.1 wlan1
post-up route add default gw 192.168.0.1 wlan0
with 192.168.3.1 being the printer
and 192.168.0.1 being the connection to the outside world

Maybe you can give me a little heads-up wheater this is worth trying or not :?:

chrisns
Posts: 15
Joined: Mon Apr 27, 2015 6:45 pm

Re: Thought id share: Wedding Photo Booth

Thu May 07, 2015 8:53 am

looks good to me

rondhi
Posts: 6
Joined: Fri Dec 19, 2014 2:53 pm

Re: Thought id share: Wedding Photo Booth

Thu May 07, 2015 5:58 pm

I know it's not what you guys are working on, but my current solution for getting a network going is using a USB-powered router. I have the GL.iNet mobile router. My Raspberry Pi is connected to it via ethernet and the Selphy CP910 via wi-fi. I haven't tested it, but it might actually be possible to power the GL.iNet directly from the Raspberry Pi.

benjamin7785
Posts: 26
Joined: Tue May 20, 2014 6:27 am

Re: Thought id share: Wedding Photo Booth

Fri May 08, 2015 9:31 am

I did actually think about that solution as well. I'd just put it on hold because I havn't had the hardware for it @rondhi

Yesterday I worked on the network setup again. Successfully this time I guess. :)
I read a lot about routing and static ip. First thing I did was to assign static IPs and avoid collissions in subnets.
I've started straight away by using the future setup. Having my mobile phone, working in hot spot mode to pass internet connection, connected to wlan0 and the printer to wlan1. Now, wlan0 connects with something like 172.20.10.2 and uses a 172.20.10.1 gateway. The printer is set-up to be 192.168.3.1 access-point. So the pi connects with being 192.168.3.2 using a gateway 192.168.3.1.
Believe it or not, but that is all I did to make it work. I kind off fell of my seat when I noticed I have an internet connection and my printer is being nnoticed by cups. I quickly queued some pictures to print and it worked nicely.
With this sudden satisfaction and because it was again 1am I decided to go to sleep. I'm sure I'll have to do some more adjustments to make it work on boot, because I have seen some strange things popping up in the boot screen. However, I finally managed to be able to print more than 5 pictures in a decend time and having internetconnection at the same time :-)

What I don't fully understand yet is why assigning a static IP did make the difference. As I said, I didn't make any changes to the default route that is set-up automatically.

If anyone wants to I'm delighted to post my /interface or anything. Just give me a note.

chrisns
Posts: 15
Joined: Mon Apr 27, 2015 6:45 pm

Re: Thought id share: Wedding Photo Booth

Fri May 08, 2015 9:47 am

when you setup static ips, you stopped dhcp getting and setting the route the printer broadcast

benjamin7785
Posts: 26
Joined: Tue May 20, 2014 6:27 am

Re: Thought id share: Wedding Photo Booth

Fri May 08, 2015 6:59 pm

Well, that sounds very straight forward :D

mkanoap
Posts: 1
Joined: Fri Jun 12, 2015 10:57 pm

Re: Thought id share: Wedding Photo Booth

Fri Jun 12, 2015 11:27 pm

What connections string are you guys using to connect to the selphy wirelessly?

Is it ipp, http, https, or something else?

I added my printer via https://192.168.142.42 (the printer's IP address) and it seemed to work in that I was allowed to upload the cpp elsewhere in this thread, but whenever I try to print it shows as 'printer busy' in the cups admin screen.

benjamin7785
Posts: 26
Joined: Tue May 20, 2014 6:27 am

Re: Thought id share: Wedding Photo Booth

Sat Jun 13, 2015 7:40 am

I use ipp only. Ipp was the first thing that cups offered me to use. Not quite sure about the correct string now. But next time I have my pi running I will write it down for you.

The printer works very well now in terms of reliability. The cpp that you can download here works much much better than the cp710 driver that comes with cups. Anyway, what really annoys me is that you don't have any printer options available with cpp. For me it ended up with image manipulation in order to get the picture onto the paper. Because if you dont have images with a ratio 3:2 the printer will make the picture fit to the paper, leaving you with an unpleasend result.

yves72
Posts: 2
Joined: Wed Jul 15, 2015 12:59 pm

Re: Thought id share: Wedding Photo Booth

Wed Jul 15, 2015 6:15 pm

Great project!

I am also making a photobooth with camera and video recording. Is this possible while still having a camera preview?

I want to suprise my sister, who is getting married in a month.

benjamin7785
Posts: 26
Joined: Tue May 20, 2014 6:27 am

Re: Thought id share: Wedding Photo Booth

Thu Jul 16, 2015 2:51 pm

Well, if you are using the picam for video recording and previewing only I say: yes you can. However, recording from an DSLR is possible too. But I doubt you'll be able to send it out as a preview at the same time.

has anyone been able to use the DSLR liveview function in order to preview the shot? Using GPhoto2 I can make my canon cam record a movie but I cannot play it back at the same time in python and pygame. I guess I'm just to stupid to make it work. Any idea how i can pick up the stream from the camera using python and pygame?
I want to see what the camera sees :D :D :lol: :idea:

fsa317
Posts: 48
Joined: Thu Nov 06, 2014 2:13 pm

Re: Thought id share: Wedding Photo Booth

Tue Jul 28, 2015 7:24 pm

Hi all, I'm starting a new project like this as well. Got some bare bones stuff working but pretty early on. I haven't purchased a printer yet and I see the SELPHY CP910 mentioned frequently - is that generally the recommended printer for projects like this? I'd like to be able to print over wifi if possible.

Also, on a related note, my code currently shares the photo to my dropbox automatically. This requires a network/wifi connection - which is fine when I'm home and it's all configured. However when I go somewhere else and I want to connect to the wifi it's a bit of a pain since I dont have a monitor connected. Has anyone thought of any good alternatives to connect a headless pi to a new wifi network?

jnc
Posts: 8
Joined: Wed Jun 17, 2015 9:57 am

Re: Thought id share: Wedding Photo Booth

Wed Jul 29, 2015 1:44 pm

@mattius

how did you do the counter on preview ? I'll be thankful for any hints..

fsa317
Posts: 48
Joined: Thu Nov 06, 2014 2:13 pm

Re: Thought id share: Wedding Photo Booth

Thu Jul 30, 2015 10:00 pm

Got my CP910 today and using @chrisns PPD install and setup was a breeze. Thank you so much.

My only issue is that when my final jpg is print a small amount of it is printing outside the perforated edges of the paper - which causes my PB banner to get chopped - What size should the jpg be to avoid this?

benjamin7785
Posts: 26
Joined: Tue May 20, 2014 6:27 am

Re: Thought id share: Wedding Photo Booth

Fri Jul 31, 2015 2:11 am

The cpp provided by chrisns somehow always does a fit to page printing. Only way for me getting useful printouts was to add white borders to the jpg. For that I used imagemagick.

mattius
Posts: 87
Joined: Thu Jun 14, 2012 9:55 am

Re: Thought id share: Wedding Photo Booth

Sat Jan 02, 2016 10:55 pm

A late update, but i totally lost interest in the project, so here for all those who ever requested it is the full source code.

Code: Select all

######################################################################
#                                                                    #
#                                MATT CAM                            #
#                              Version : 1.1                         #
#                                                                    #
#    Description :                                                   #
#                 Raspberry PI Photobooth Software                   #
#         Author :                                                   #
#                 Matt Inglis                                        #
#                                                                    #
######################################################################

#IMPORTS
import RPi.GPIO as gpio
import picamera
import pygame
import time
import os
import PIL.Image
import ImageDraw
import cups

from threading import Thread
from pygame.locals import *
from time import sleep
from PIL import Image


#initialise global variables
closeme = True #Loop Control Variable
timepulse = 999 #Pulse Rate of LED
LEDon = False #LED Flashing Control
gpio.setmode(gpio.BCM) #Set GPIO to BCM Layout
Numeral = "" #Numeral is the number display
Message = "" #Message is a fullscreen message
SmallMessage = "" #SmallMessage is a lower banner message
TotalImageCount = 1 #Counter for Display and to monitor paper usage
PhotosPerCart = 16 #Selphy takes 16 sheets per tray

#initialise pygame
pygame.mixer.pre_init(44100, -16, 1, 1024*3) #PreInit Music, plays faster
pygame.init() #Initialise pygame
screen = pygame.display.set_mode((800,480),pygame.FULLSCREEN) #Full screen 640x480
background = pygame.Surface(screen.get_size()) #Create the background object
background = background.convert() #Convert it to a background

#UpdateDisplay - Thread to update the display, neat generic procedure
def UpdateDisplay():
	#init global variables from main thread
	global Numeral
	global Message
	global SmallMessage
	global TotalImageCount
	global screen
	global background
	global pygame

	SmallText = "Matt Cam" #Default Small Message Text	
	if(TotalImageCount >= (PhotosPerCart - 2)): #Low Paper Warning at 2 images less
		SmallText = "Paper Running Low!..."
	if(TotalImageCount >= PhotosPerCart): #Paper out warning when over Photos per cart
		SmallMessage = "Paper Out!..."
		TotalImageCount = 0 
	background.fill(pygame.Color("black")) #Black background
	smallfont = pygame.font.Font(None, 50) #Small font for banner message
	SmallText = smallfont.render(SmallText,1, (255,0,0))
	background.blit(SmallText,(10,445)) #Write the small text
	SmallText = smallfont.render(`TotalImageCount`+"/"+`PhotosPerCart`,1, (255,0,0))
	background.blit(SmallText,(710,445)) #Write the image counter

	if(Message != ""): #If the big message exits write it
		font = pygame.font.Font(None, 180)
		text = font.render(Message, 1, (255,0,0))
		textpos = text.get_rect()
		textpos.centerx = background.get_rect().centerx
		textpos.centery = background.get_rect().centery
		background.blit(text, textpos)
	elif(Numeral != ""): # Else if the number exists display it
		font = pygame.font.Font(None, 800)
		text = font.render(Numeral, 1, (255,0,0))
		textpos = text.get_rect()
		textpos.centerx = background.get_rect().centerx
		textpos.centery = background.get_rect().centery
		background.blit(text, textpos)

	screen.blit(background, (0,0))
	pygame.draw.rect(screen,pygame.Color("red"),(10,10,770,430),2) #Draw the red outer box
	pygame.display.flip()
	
	return
#Pulse Thread - Used to pulse the LED without slowing down the rest
def pulse(threadName, *args):
        #gpio.setmode(gpio.BCM)
	global gpio
        gpio.setup(17, gpio.OUT)
	
	#print timepulse
       	while closeme:
 	      	global LEDon

                #print LEDon
                
                if timepulse == 999:
                        gpio.output(17, False)
                        LEDon = True
                else:
                        if LEDon:
                                gpio.output(17, True)
                                time.sleep(timepulse)
                                LEDon = False
                        else:
                                gpio.output(17, False)
                                time.sleep(timepulse)
                                LEDon = True

#Main Thread
def main(threadName, *args):

	#Setup Variables
        gpio.setup(24, gpio.IN) #Button on Pin 24 Reprints last image
        gpio.setup(22, gpio.IN) #Button on Pin 22 is the shutter
        global closeme
        global timepulse
	global TotalImageCount
	global Numeral
	global SmallMessage
	global Message
		
	Message = "Loading..."
        UpdateDisplay()
	time.sleep(5) #5 Second delay to allow USB to mount

        #Initialise the camera object
        camera = picamera.PiCamera()
        #Transparency allows pigame to shine through
        camera.preview_alpha = 120
        camera.vflip = False
        camera.hflip = True
        camera.rotation = 90
        camera.brightness = 45
        camera.exposure_compensation = 6
        camera.contrast = 8
        camera.resolution = (1280,720)
        #Start the preview
        camera.start_preview()

	Message = "USB Check..."
	UpdateDisplay()

        #Following is a check to see there is a USB mounted if not it loops with a USB message
        usbcheck = False
        rootdir = '/media/'

        while not usbcheck:
                dirs = os.listdir(rootdir)
                for file in dirs:
                    folder = os.path.join(rootdir,file)
                    if not file == 'SETTINGS' and os.path.isdir(folder):
                        usbcheck = True
                        imagedrive = os.path.join(rootdir,file)
                        imagefolder = os.path.join(imagedrive,'PhotoBooth')
                        #If a photobooth folder on the usb doesn't exist create it
                        if not os.path.isdir(imagefolder):
                                os.makedirs(imagefolder)

	Message = "Initialise"
	UpdateDisplay()
        #Procedure checks if a numerical folder exists, if it does pick the next number
        #each start gets a new folder i.e. /photobooth/1/ etc
        notfound = True
        folderno = 1
        while notfound:
        
                tmppath = os.path.join(imagefolder,`folderno`)
                if not os.path.isdir(tmppath):
                        os.makedirs(tmppath)
                        imagefolder = tmppath
                        notfound = False
                else:
                        folderno = folderno + 1

        imagecounter = 0

	Message = ""
	UpdateDisplay()

        #Main Loop
        while closeme:
                
                try:
                        for event in pygame.event.get():
                                if event.type == pygame.QUIT:
                                        closeme = False
                                if event.type == pygame.KEYDOWN:
									if event.key == pygame.K_ESCAPE:
										closeme = False
                except KeyboardInterrupt:
                                closeme = False
                        
                #input_value is the shutter
                input_value = gpio.input(22)
                #input_value2 is photo reprint
                input_value2 = gpio.input(24)
				
		UpdateDisplay()

                #Load a beep music file
                pygame.mixer.music.load('/home/pi/Desktop/Beep.mp3')
                #Reprint Button has been pressed
                if input_value2==False:
                        #If the temp image exists send it to the printer
                        if os.path.isfile('/home/pi/Desktop/tempprint.jpg'):
						    #Open a connection to cups
					        conn = cups.Connection()
							#get a list of printers
					        printers = conn.getPrinters()
							#select printer 0
					        printer_name = printers.keys()[0]
					        Message = "Re-Print..."
					        UpdateDisplay()
						#print the buffer file
						printqueuelength = len(conn.getJobs())
						if  printqueuelength > 1:
							Message = "PRINT ERROR"
							conn.enablePrinter(printer_name)
							UpdateDisplay()
						elif printqueuelength == 1:
							SmallMessage = "Print Queue Full!"
							UpdateDisplay()
							conn.enablePrinter(printer_name)
						conn.printFile(printer_name,'/home/pi/Desktop/tempprint.jpg',"PhotoBooth",{})
					        time.sleep(20)
					        Message = ""
						UpdateDisplay()

				#input_value is the shutter release
                if input_value == False:
				        subimagecounter = 0
					#Increment the image number
					imagecounter = imagecounter + 1
					#play the beep
					pygame.mixer.music.play(0)
					#Display the countdown number
					Numeral = "5"
					UpdateDisplay()
					#Flash the light at half second intervals
					timepulse = 0.5
					# 1 second between beeps
					time.sleep(1)

					pygame.mixer.music.play(0)
					Numeral = "4"
					UpdateDisplay()
					timepulse = 0.4
					time.sleep(1)
               
					pygame.mixer.music.play(0)
					Numeral = "3"
					UpdateDisplay()
					timepulse = 0.3
                       	 		time.sleep(1)

     			                pygame.mixer.music.play(0)
                        		Numeral = "2"
			            	UpdateDisplay()
			            	timepulse = 0.2
                        		time.sleep(1)
                
                        		pygame.mixer.music.play(0)
                        		Numeral = "1"
			            	UpdateDisplay()
			            	timepulse = 0.1
                       			time.sleep(1)

					#Camera shutter sound
                        		pygame.mixer.music.load('/home/pi/Desktop/camera.mp3')
                        		pygame.mixer.music.play(0)
                        		Numeral = ""
			            	Message = "Smile!"
			            	UpdateDisplay()
					#increment the subimage
					subimagecounter = subimagecounter + 1
					#create the filename
                        		filename = 'image'
                        		filename += `imagecounter`
                        		filename += '_'
                        		filename += `subimagecounter`
                        		filename += '.jpg'
					#capture the image
                        		camera.capture(os.path.join(imagefolder,filename))
					#create an image object
                        		im = PIL.Image.open(os.path.join(imagefolder,filename)).transpose(Image.FLIP_LEFT_RIGHT)
                        		pygame.mixer.music.load('/home/pi/Desktop/Beep.mp3')
                        		Message = "Get Ready"
                        		UpdateDisplay()
			            	timepulse = 999
                        		time.sleep(3)

                       			pygame.mixer.music.play(0)
                        		Message = ""
					Numeral = "5"
					UpdateDisplay()
                        		timepulse = 0.5
                        		time.sleep(1)
                        
                        		pygame.mixer.music.play(0)
                        		Numeral = "4"
					UpdateDisplay()
					timepulse = 0.4
                        		time.sleep(1)

                        		pygame.mixer.music.play(0)
                        		Numeral = "3"
					UpdateDisplay()
					timepulse = 0.3
                        		time.sleep(1)
                                
                        		pygame.mixer.music.play(0)
                        		Numeral = "2"
					UpdateDisplay()
					timepulse = 0.2
                        		time.sleep(1)
                        
                        		pygame.mixer.music.play(0)
                        		Numeral = "1"
					UpdateDisplay()
                        		timepulse = 0.1
                        		time.sleep(1)
                        
                        		pygame.mixer.music.load('/home/pi/Desktop/camera.mp3')
                        		pygame.mixer.music.play(0)
					Numeral = ""
					Message = "Smile!"
					UpdateDisplay()

                		        subimagecounter = subimagecounter + 1

                       			filename = 'image'
                        		filename += `imagecounter`
                        		filename += '_'
                        		filename += `subimagecounter`
                        		filename += '.jpg'
                        		camera.capture(os.path.join(imagefolder,filename))
                        		im2 = PIL.Image.open(os.path.join(imagefolder,filename)).transpose(Image.FLIP_LEFT_RIGHT)
                        		pygame.mixer.music.load('/home/pi/Desktop/Beep.mp3')
                        		Message = "Another One"
					UpdateDisplay()
					timepulse = 999
                        		time.sleep(3)
						
                        		pygame.mixer.music.play(0)
                        		Numeral = "5"
					Message = ""
					UpdateDisplay()
                        		timepulse = 0.5
                        		time.sleep(1)
                        
                        		pygame.mixer.music.play(0)
                        		Numeral = "4"
					UpdateDisplay()
					timepulse = 0.4
                        		time.sleep(1)

                        		pygame.mixer.music.play(0)
                        		Numeral = "3"
					UpdateDisplay()
					timepulse = 0.3
                        		time.sleep(1)
                                
                        		pygame.mixer.music.play(0)
                        		Numeral = "2"
					UpdateDisplay()
					timepulse = 0.2
                        		time.sleep(1)
                        
                        		pygame.mixer.music.play(0)
                        		Numeral = "1"
					UpdateDisplay()
                        		timepulse = 0.1
                        		time.sleep(1)
                        
                        		pygame.mixer.music.load('/home/pi/Desktop/camera.mp3')
					pygame.mixer.music.play(0)
					Numeral = ""
					Message = "Smile!"
					UpdateDisplay()

        		                subimagecounter = subimagecounter + 1

                        		filename = 'image'
                        		filename += `imagecounter`
                        		filename += '_'
                        		filename += `subimagecounter`
                        		filename += '.jpg'
                        		camera.capture(os.path.join(imagefolder,filename))
                        		im3 = PIL.Image.open(os.path.join(imagefolder,filename)).transpose(Image.FLIP_LEFT_RIGHT)
                        		pygame.mixer.music.load('/home/pi/Desktop/Beep.mp3')
                        		Message = "Final One!"
					UpdateDisplay()
					timepulse = 999
                        		time.sleep(3)
                        
                        		pygame.mixer.music.play(0)
                        		Message = ""
					Numeral = "5"
					UpdateDisplay()
					timepulse = 0.5
                		        time.sleep(1)
                        
                        		pygame.mixer.music.play(0)
                        		Numeral = "4"
					UpdateDisplay()
					timepulse = 0.4
                        		time.sleep(1)

                        		pygame.mixer.music.play(0)
                        		Numeral  = "3"
					UpdateDisplay()
					timepulse = 0.3
                        		time.sleep(1)
                        
                       			pygame.mixer.music.play(0)
                        		Numeral = "2"
					UpdateDisplay()
					timepulse = 0.2
                        		time.sleep(1)
                        
                        		pygame.mixer.music.play(0)
                        		time.sleep(0.1)
                        		Numeral = "1"
					UpdateDisplay()
                        		timepulse = 0.1
                        		time.sleep(1)
                        
                        		pygame.mixer.music.load('/home/pi/Desktop/camera.mp3')
                        		pygame.mixer.music.play(0)
                        		Numeral = ""
					Message = "Smile!"
					UpdateDisplay()
					subimagecounter = subimagecounter+1
	
        		                filename = 'image'
                        		filename += `imagecounter`
                        		filename += '_'
                        		filename += `subimagecounter`
                        		filename += '.jpg'
                        		camera.capture(os.path.join(imagefolder,filename))
                        		Message = "Working.."
					UpdateDisplay()
					im4 = PIL.Image.open(os.path.join(imagefolder,filename)).transpose(Image.FLIP_LEFT_RIGHT)
						
					#Load the background template
                		        bgimage = PIL.Image.open("/home/pi/Desktop/template.jpg")
					#thumbnail the 4 images
                        		im.thumbnail((560,400))
                        		im2.thumbnail((560,400))
                        		im3.thumbnail((560,400))
                        		im4.thumbnail((560,400))
					#paste the thumbnails to the background images
                        		bgimage.paste(im,(15,20))
                        		bgimage.paste(im2,(15,410))
                        		bgimage.paste(im3,(15,820))
                        		bgimage.paste(im4,(15,1230))
					#two columns of 4
                        		bgimage.paste(im,(620,20))
                        		bgimage.paste(im2,(620,410))
                        		bgimage.paste(im3,(620,820))
                        		bgimage.paste(im4,(620,1230))
					#Create the final filename
                        		Final_Image_Name = os.path.join(imagefolder,"Final_"+`imagecounter`+".jpg")
					#Save it to the usb drive
                        		bgimage.save(os.path.join(imagefolder,"Final_"+`imagecounter`+".jpg"))
					#Save a temp file, its faster to print from the pi than usb
                        		bgimage.save('/home/pi/Desktop/tempprint.jpg')
						
					#Connect to cups and select printer 0
                        		conn = cups.Connection()
                        		printers = conn.getPrinters()
                        		printer_name = printers.keys()[0]
                        
					#Increment the large image counter
                        		TotalImageCount = TotalImageCount + 1
					Message = "Print..."
					UpdateDisplay()
					#print the file
					printqueuelength = len(conn.getJobs())
					#If multiple prints in the queue error
					if  printqueuelength > 1:
						Message = "PRINT ERROR"
						conn.enablePrinter(printer_name)
						UpdateDisplay()
					elif printqueuelength == 1:
						SmallMessage = "Print Queue Full!"
						conn.enablePrinter(printer_name)
						UpdateDisplay()
							
					conn.printFile(printer_name,'/home/pi/Desktop/tempprint.jpg',"PhotoBooth",{}) 
                        		time.sleep(20)
                        
                        		Message = ""
					UpdateDisplay()
					timepulse = 999
					#reset the shutter switch
		                        while input_value == False:
                		                input_value = gpio.input(22)
	#we are exiting so stop preview
	camera.stop_preview()

#launch the main thread
Thread(target=main, args=('Main',1)).start()
#launch the pulse thread
Thread(target=pulse, args=('Pulse',1)).start()
#sleap
time.sleep(5)




francois.e
Posts: 2
Joined: Sun Jan 10, 2016 11:16 pm

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Sun Jan 10, 2016 11:34 pm

@chrisns:
I followed your invitation to try the cp910:
http://forum.porteus.org/viewtopic.php? ... 832#p40832

However, I think that my ppd file is not well set for the files I have on my system:

Code: Select all

lpstat -p -d
printer Canon-CP910_ipp is idle.  enabled since Sun 10 Jan 2016 05:49:06 PM Local time zone must be set--see zic manual page
        File "/usr/share/color/icc/Adobe ICC Profiles/RGB Profiles AdobeRGB1998.icc" not available: No such file or directory
Here is what I modified in the CP-910_ipp.ppd:

Code: Select all

*cupsICCProfile Gray../Grayscale: "/usr/share/color/icc/Adobe ICC Profiles/RGB Profiles Gray Gamma 2.2 Profile.icc"
*cupsICCProfile RGB../Color: "/usr/share/color/icc/Adobe ICC Profiles/RGB Profiles AdobeRGB1998.icc"
I did not found sRGB Profile.icc download on the net.

So it does not print. Any suggestion?

chrisns
Posts: 15
Joined: Mon Apr 27, 2015 6:45 pm

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Mon Jan 11, 2016 9:18 am

I don't think it's required.
my pi didn't have that file and worked fine, I guess it'll in theory work with any icc profile its only for colorsync which is an apple specific thing

francois.e
Posts: 2
Joined: Sun Jan 10, 2016 11:16 pm

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Mon Jan 11, 2016 1:06 pm

Which specific lines of the original ppd did you modified to get it running?

Would it be possible for you to provide the Gamma 2.2 Profile.icc and the sRGB Profile.icc? This way I could test the printer with the exact icc profiles.

Thanks.

chrisns
Posts: 15
Joined: Mon Apr 27, 2015 6:45 pm

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Mon Jan 11, 2016 1:27 pm

I didn't need to change a single line of the the ppd.
I've no idea on the licensing of those iccs, so you'ld need to grab them off a mac.
Are you getting errors or describable issues?

pr3tty8oyfl0yd
Posts: 11
Joined: Sat Apr 23, 2016 12:25 am

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Sat Apr 23, 2016 12:32 am

Hi all I am attempting this project as My sister is getting married, small family not a lot of money so def seems like a cheaper way to get a
Photobooth so first off great job Matt and thanks for posting!

I have looked at the code and I am having a bit of problems just using a regular computer monitor, I get the black screen but can't see anything else.

When I just use alpha and the picamera preview tho in its own small program it works. Also the imports ImageDraw is not correct anymore it's PIL image will this be an issue?

Anyone else have problems just getting the image to display over the black background? Any help would be very appreciated. Thanks!

pr3tty8oyfl0yd
Posts: 11
Joined: Sat Apr 23, 2016 12:25 am

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Sun Apr 24, 2016 5:51 pm

I've been stopping my hair out for about 24 hours straight because when I run the code I get a black screen, but when I take chunks from pygame and picamera I can get the cam to have the transparent image I top of black background......how come when I have it all together just like full source above I just get a black screen?

twisterrm
Posts: 2
Joined: Mon Jun 06, 2016 11:40 am

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Mon Jun 06, 2016 11:41 am

Hi all,
I have try the code but i always have continuous indentation error, how could i fix the issue?

pr3tty8oyfl0yd
Posts: 11
Joined: Sat Apr 23, 2016 12:25 am

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Mon Jun 06, 2016 10:52 pm

I have been working through this project just using the original code as more of a template on the logic itself and coding it myself adding my own bits of flavor here and their.

Easiest thing to do is to load code into a compiler and highlight all code and "dedent" everything. Then go block by block and ident as you normally would in Python.

mattius
Posts: 87
Joined: Thu Jun 14, 2012 9:55 am

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Sun Jun 12, 2016 9:27 am

The indentation maybe wrong. i just tapped the code up in notepad, i usually transfer it to the pi and then fix indentation afterwards.

The code is supposed to be a quide as not many people will have exactly the same hardware as me.

There shouldn't be any real reason why it wouldn't work on a monitor rather than the tft i was using (my little tft was just using the s-video from the PI), potentially your monitor doesn't support the resolution i was running due to my old tft so might be worth playing with the bits where i set 640 x 400.

mattius
Posts: 87
Joined: Thu Jun 14, 2012 9:55 am

Re: Thought id share: Wedding Photo Booth [FULL SOURCE]

Sun Jun 12, 2016 9:31 am

ImageDraw is not required in the code, i must have left it in on the include by accident. You should just need PIL.Image as that is used to store the thumbnails and final image.

Return to “Graphics, sound and multimedia”

Who is online

Users browsing this forum: No registered users and 17 guests