Showing posts with label photography. Show all posts
Showing posts with label photography. Show all posts

Friday, November 13, 2009

Underwater Casing for Canon EOS 400 Digital SLR

I passed by V-Mall after work to buy the underwater DICAPAC (Digital Camera Pack?) casing. Its a generic plastic casing that uses ziploc-style seals combined with velcro to prevent water from seeping in. It can fit pretty much any time of digital SLR camera with regular lenses. I guess those really long-range, fancy zoom lenses would not fit. But since I'm still using the good-ol' kit lens, its not really an issue.



The pack costs PHP3,500 and is sold by Abacus Computer. I saw it a few months ago and have been planning on getting one. Since we're off to Busuanga tomorrow, I decided its finally time to get it. Just think of it as my advance birthday gift to myself.

Everytime we go to the beach, we always think of buying a disposable underwater camera. I figure the one-time cost of this pack should be cheaper than buying disposable cameras in the future. Its certainly cheaper than buying those new underwater point-and-shoot cameras by Canon, Olympus, etc.

Upon getting home, I performed the waterproof test suggested by the store. Put tissue inside and submerge the casing under water. If the tissue shows wetness afterwards, there must be a hole in the casing so return it for warranty. But then, since we're already leaving tomorrow for our trip, I just have to hope that nothing goes wrong with this unit. Will be posting my underwater photos from Busuanga soon!

Thursday, May 28, 2009

Programming with Canon without an SDK

I've been looking at a photobooth software called Photoboof upon the recommendation of a friend.  It sells for something like USD600 with a fully-functional trial version that just displays some watermark on the printout.  I've been thinking on-and-off of writing a photobooth software myself.  In fact, that was the main impetus why I looked into programming for my Canon EOS using the EOS Development Kit (EDK).

Photoboof claims it can work with Canon Powershots, EOS DSLR's, Nikon DSLR's, and even regular webcams.  I've been wondering how Photoboof can pull off supporting all these cameras.  Did it have to link the libraries specific to each camera model?  Well, as it turns out, it doesn't really talk directly to the camera's firmware.  Instead, it works with the camera's existing bundled software to handle the actual remote photo-shooting.  Then it just picks up the jpg files from some local folder.

I have to admit its an ingenious solution.  For Canon EOS DSLR's, it uses the bundled EOS Utility software to handle actual communication with the camera and the remote shooting part.  The EOS Utility even support "tethered" shooting, or shooting from the camera and having the image sent directly to the PC via USB, without saving a copy first on the CF Card inside the camera.

Photoboof uses the popular Irfanview image viewer software to handle the actual rendering of the image to the printer.  Again, very ingenious.  The author didn't have to do the dirty work of communicating with the printer.

Sunday, November 16, 2008

Another Coincidental PictureBook Customer Sighting

I was processing a photobook order from one of our photographer-clients. She did the photo/video coverage of a child's baby party. While going through her layouts, I realized that the mother/baby is also a PictureShop customer for our full-spread picturebooks! The mom ordered their photo guest signbook for the party from us.

In fact, our 6x6 photo guest signbook was in the picturebook that the photographer-client layed out for this client. Very amazing coincidence. With so many potential customers in the Philippines, what's the likelihood of us bumping into the same client.

Saturday, July 12, 2008

Sharing Large Files Over The Internet

Every now and then, we would get an inquiry for ThePictureShop from Mac users on how they can send their photos to us to be converted into a picturebook. While some of our photo book competitors use free file uploading sites like YouSendIt, I wrote our own customized software for sending images to us. Unfortunately, the PictureBookMaker software that I wrote works only on Microsoft Windows (since I don't know how to program for the Mac). So there is no straightforward way of sending image files to us if you are not running on Windows.

While reading the July 2008 issue of PC World Philippines, I came across this interesting site called drop.io. You can easily upload files into it by just providing a "drop" name. The "drop" name is like the folder name. In my test, I called my drop "dicktestphoto". So my folder's URL had the name http://drop.io/dicktestphoto.

Uploading is primarily done via the web browser. I can't tell if its just using the standard RFC for file upload via HTTP or if its using some other proprietary method. I did not get any prompt to allow an ActiveX Control to run, neither did I see a Java applet loading. So unless they used some other clever Javascript/Ajax trick, I have no idea how they are doing the file upload.

You can also upload files by simply sending it as an email attachment. The email will be addressed to the "drop" name -- in my case, to dicktestphoto@drop.io. I tried sending the email via GMail, then refreshed my "drop" screen. Voila! The attached photo is there.

One of the best thing I like with drop.io is it does not require registration! You just create your "drop" folder and start uploading. Its that simple. Each "drop" folder seems to be limited to 100MB (although the PC World article was hinting 1GB). I'm not too sure though as I can't seem to find anything in their FAQ that talks about the total limit. I do know that if you really want a large amount of space, you have to "upgrade" to their premium service and pay some fee.

You can also specify how long the image files that you upload will stay in drop.io servers. For my test, I just told the system to expire it after a day. I believe if you want the file to stay there forever (or at least, while drop.io stays afloat), you also have to upgrade to their premium service.

Will ask future Mac customers inquiring about uploading photos to ThePictureShop to try this service.

Monday, June 16, 2008

Online Photo Editors

Adobe recently announced a free online, web-based version of their flagship, Photoshop. Of course, it will not have all the features of the standalone products but it does provide an interesting alternative for people who need to edit a photo on-the-fly, or out in the field and there is no photo editing software installed on the machine (eg. in a cafe).

While I haven't tried the Photoshop online version, I came across another one called Phixr. You can use it without registering an account first (although your temporary guest session will be limited to about 2 hrs, I think). You can easily upload a photo from your PC or ask it to retrieve an image from the web via HTTP. The photo loads on the working canvas and you can do basic edited such as cropping, converting to sepia tone, adding voice bubbles, red eye reduction, noise reduction, blurring, adding border frames, etc. It also comes with some advanced photo effects such as posterize, dot art and many others.

The resulting edited image can be re-downloaded as jpg, or converted to other formats such as png, pdf or tiff. It also has the option to send it as email. And most importantly for people maintaining web albums, it can send it directly to your album of choice. It supports several including the popular ones like Flickr, Picasa, Photobucket, Webshots and SmugMug.

Tuesday, June 3, 2008

The World's Cheapest Tripod (or rather, monopod)

While reading PC World recently, I came across the Google Alerts service. Its a very neat service. Google searches the Internet for news and blog entries containing keywords that you want to track (eg. your company's products, your competitor's services) and it emails you the report on a scheduled basis. In my case for example, I track keywords like "picatoo", "digital music" and "online payments", to keep me abreast with what's happening out there.

This morning, Google Alerts sent me a summary of articles related to my "online photos" keyword. Its about stabilizing a camera using only a string as a tripod (or more accurately, as a monopod. The basic idea is to tie one end of the string to your camera and step on the other end on the floor. Pull it until the string is taut. Then your camera will be "steady".

The full article can be found here:

http://www.pcworld.com/article/id,145582-c,digitalcameras/article.html

Monday, May 5, 2008

New Picatoo Feeds

I've recently updated the colors of Picatoo from the former fun-and-lively orange-and-green to a more formal/artistic/edgy black theme. Our new front page has a photo of OPM signer Allona. The "controversial" photo was previously used by PARI for their AWIT Awards.



Also new to the site are sections on photography tips and gadgets. The current tips were written by professional photographer Ms. Dail Deri. Dail is the daughter of local photography legend, Mr. Ibarra Deri. Dail has also carved a niche for herself in pet photography.

I have updated by FeedBurner account to include RSS Feeds for these two new sections:

http://feeds.feedburner.com/PicatooPhotographyGadgetsFeed

http://feeds.feedburner.com/PicatooPhotographyTipsFeed

Saturday, March 8, 2008

CSA Family Fun Day

Its a Saturday morning but we had to get up early to go to Colegio de San Agustin (CSA). Its Family Fun Day today and the parents get to join the kids in a sportsfest. We got to school around 8:00am and were assembled at the covered basketball courts. Today is the Fun Day for the different Nursery sections -- all five of them. Caitlin's section (Compassion) is the green team. So Cols and I had to wear green shirts also.

The day started with a prayer, an oath for sportsmanship and some warm-ups. The more active parents joined the torch-lighting ceremony amidst a background music from Chariots of Fire. The contestants were divided into two groups. The first one comprises of sections A to C (including Compassion). The second was for sections D and E, which had a much larger student population as compared to the total of A to C (not sure why).

The first contest was a simple race relay with two contestants running holding a baton together. There were a total of about 12 pairs. Student pairs and parent pairs alternated. Cols and I did not join this race. Caitlin was partnered with Francine, who was much smaller than her, so Caitlin was kind of dragging her along. The Compassion team handily won this contest.

I joined the second contest which was kinda similar in concept. It was also a relay race with the kids running to a table at the end of the relay and stacking up some blocks. Then the parent would run to the same place and un-stack the blocks. The cycle repeats until all parents and students finish. Our Compassion team won first place again on this one.

I got to experiment a bit with taking "action" or motion shots on my Canon EOS 400D. I just used the kit lens at aperture priority setting. Then I focused on the moving subject while panning the camera along and pressing the shutter button. The result is still a bit blurry but gives the desired effect I want.

To see the other shots of the CSA Fun Day, visit my web album by clicking the image below.

Tuesday, January 22, 2008

Programming with the Canon Digital Camera Part 2

I got my Canon EOS Digital Software Development Kit (ED-SDK 2.1) back in December but have not gotten much time to experiment with it. I wrote some quick-and-dirty program today just to test out the different SDK function calls. I opted to test with my Canon EOS 400D instead of the Digital IXUS 400 primarily because the EOS Development Kit (EDK) already came with a C-Sharp wrapper called EDSDK.cs. So I didn't have to download some other 3rd party library wrapper just to integrate with the CD-SDK.

The C Sharp wrapper bundled with the EDK is pretty basic. In fact, I would not really call it a class in the OOP sense. Its more of like a traditional C struct. It enumerates all the different constants and data structures supported by the EDK, which is a big help since I would not want to re-type that. The development library can be either statically linked through the provided EDSDK.lib file, or by dynamic linking by referring to the EDSDK.dll. The C Sharp class file uses the latter method (since I don't think there is any way of linking directly to a .lib file with C#). The EDSDK.cs wrapper file provides the convenient function prototypes already also.

The program flow is very straightforward. You call EdsInitializeSDK() to startup the library and EdsTerminateSDK() to shut it down. Then in-between that's where you do all the neat stuffs -- like query the camera for its properties and settings; modify the settings; take a picture; go through the camera's storage system and retrieve images. The EDK pretty much lets you change all the settings that can be modified -- the ISO speed, AE mode, aperture, shutter speed, JPEG quality/compression level, and so much more. Anything that you can set using the camera's LCD menu, can be programmatically set as well. The EDK provides you with functions to lock the User Interface so that while the application is in control of the camera, it cannot be manually overridden by a human operator.

I think in theory you can connect multiple cameras to a PC via the provided USB cable and control them from a single application (this setup of EOS cameras is pretty amazing). The EDK just mentions some notes about concurrency issues that might cause problems. In any case, I have no plans of attaching more than one camera so that should not be an issue. The SDK does provide you with functions to list the cameras attached, or are available, and lets you select which one you want to work with. Once you've selected your camera, you would open a session with it by calling EdsOpenSession(). Then you would use the EdsSendCommand() mainly to do everything else like doing a remote capture.

I've gotten as far as the following:
  1. Initialize the SDK
  2. Enumerate the cameras attached and select the 1st one (my EOS 400D in this case)
  3. Open a session with the camera
  4. Retrieve its settings and properties
  5. Perform a remote capture (aka. Take a Picture)
  6. Close the camera session
  7. Terminate the SDK

The images taken by step 5 currently remains on the camera. I have to do more experimentation next time on how to do image transfers from the camera to the PC. Of course, the SDK provides all of those functions as well. Its just a matter of figuring out how to use them correctly. I will need to define postback functions for sure. For now, I'm purely doing synchronous programming. However, the programming model that the Canon EDK uses is asynchronous and postback-based.

Friday, December 21, 2007

Programming with the Canon IXUS and EOS Digital Camera

I recently came across a business model which I thought was very interesting. Its essentially a mobile photo studio (or a photo booth) that can be setup easily in events or venues such as birthday parties, event launchings, weddings and many more. They basically charge a fixed fee (anywhere from P10k to P20k) for a finite number of hours (2 to 5 hrs). During that period, the event/party guests can ham it up in front of the camera and they get free souvenir prints.

In the event that I first saw this setup, I took a peek inside the contraption and saw a Canon EOS 20D. Aha! There must be a way to programmatically control a camera from a PC; retrieve the still images that it captures; lay it out in a memory bitmap; then dump it out to a photo printer. Sounds like an interesting project!

So I Googled around to know what tools are out there. First, I found an open-source project in Sourceforge under the GNU General Public License (GPL):

http://canoncam.sourceforge.net/

It seems to be a bunch of command-line utilities which can control a Canon digital camera. However, in order to use it, one has to have the Canon RC SDK. Hmm.... what could that be? Doing more Google searches, I found out that Canon offers the SDK to allow application developers to talk to their camera. Best of all, its for free! One just has to go through the application process:

http://www.canon-asia.com/index.jsp?fuseaction=dev_prog&prod_type=digital_imaging

So I diligently filled up the forms. I figure I would need the standard Canon Digital Camera Software Development Kit (CD-SDK 7.3.0) to support the older Powershot and IXUS lines, and the newer Canon EOS Digital Software Development Kit (ED-SDK 2.1) for the digital SLR lines. My old IXUS 400 (aka Powershot SD400) is supported by the older CD-SDK, while my EOS 400D (aka Digital Rebel XTi) would be supported by the newer ED-SDK.

Based on the website, the libraries are written in Windows C. But some guys seem to have made a C# wrapper around it.

  1. Elias Torres made a C# wrapper around the CD-SDK. But it seems very dated. And for sure, it does not support the newer ED-SDK.
  2. Christian Graus and Benjamin Liedblad came out with a unified version for the CDSDK and PRSDK (a newer version of the CDSDK), but also no mention of the ED-SDK.

Well, my CD from Canon Singapore arrived the other day (after about a 3-week wait). I tried plugging in my old IXUS 400 to my PC. Couldn't seem to get the CD-SDK sample programs to detect it. I wonder if its because I did not really install the entire drivers CD of the IXUS 400. My PC only has the drivers/programs installed from my EOS 400D camera. This will take some more tests.

On the bright side, I found out that the EDSDK came shipped with a C# class file! There's no documentation whatsoever, but it doesn't seem too difficult to figure out since its basically just a class that defines entry points to the EDSDK.DLL. I think I'll focus my development on the EDSDK and forget about the older CDSDK. Of course, this means that whatever application I develop will have to use an EOS Digital Camera and not a lower-end IXUS. Will update this blog more as I find out more also about the EDSDK.

Friday, December 14, 2007

Ordering PictureBooks or Photo Books in the Philippines

We completed a "rush" Picture Book project for Johnson & Johnson Medical Philippines. J&J was looking for a unique and personalized gift for their 10 retirees, and when they came across ThePictureShop.com, they knew they found their perfect gift.

Picture Books (or Photo Books) present a new way of looking at your photos. Instead of having one pose per print, Picture Books can collage or layout multiple photos onto a single print. The prints are then compiled and bound into a book format. Captions can also be added to the photos, and backgrounds can be embellished. In the case of J&J, they wanted a scrapbook-like feel. So we used textured background templates to give them a scrapbook look-and-feel.



Our PictureBook business has been featured in Philippine Daily Inquirer before. We are also a partner of Picatoo, a joint project between Mozcom and Fuji YKL Color Lab. Picatoo provides everything from standard prints, to poster-sized prints and specialized items like mugs, buttons, mousepads, tumblers, pillowcases and more. Of course, they also offer picturebooks care of ThePictureShop.com.