qvplay and the Casio QV-10 Camera
In the continuing battle with the Evil Empire, I have recently reduced my dependence on “Them” by one program—I discovered a way to use my Casio QV-10 digital camera with Linux.
This article is a simple HOWTO on the method I used—hopefully to encourage more people and Casio to use Linux.
One of these days, every peripheral will ship with Linux drivers and support software—until then, let's “share and enjoy!” (Douglas Adams, Hitchhiker's Guide to the Galaxy).
Describing the camera in full is probably best left to Casio but suffice it to say that it:
has fixed focal length lens (no zoom)
has fixed resolution of 320x240 pixels in 24-bit colour
stores up to 96 shots in Flash memory (immune from low battery power)
takes 4 AA alkaline cells or an optional, external power source, but not NiCad
has a serial link to a PC
has a separate printer available, driven directly by the camera
can also output to TV/video
has CAM default file format, proprietary to Casio
sells for about $400 in Singapore (about $263US), although I paid a lot more than that last Christmas—prices have dropped.
The resolution of the pictures is adequate for simple web pages but nowhere near as fine grained as some of the models recently on the market. By comparison, a Kodak PhotoCD image digitised from a 35mm slide or film would be about 3000x2500 pixels—more than 100 times the number of pixels. On the other hand, while the resolution is so-so, the 320x240 jpeg files that are produced are reasonably fast to download with current modems.
It is quite possible that Casio's proprietary CAM format is superior to others for certain purposes (I am no graphics expert), but it is no good for web pages, which need JPEG or GIF files. The Windows software that Casio provides makes converting more than one or two files to JPEG format very difficult. No filter is provided for batch conversion of files to other formats. The process for each conversion is:
Open CAM image on PC (10 seconds on my 486)
Pull down File|Export menu or press ctrl-E
Pull down Format|JPG
Type in new file name (.jpg extension is provided automatically)
On one file this is manageable, but on 96—forget it.
qvplay was written by ken-ichi HAYASHI and Jun-ichiro “itojun” ITOH to control the QV-10 and is really great. Itojun also wrote a filter called cam2jpeg to convert CAM files to JPEG. (I haven't tested this program yet.) With qvplay running on Linux you can:
Download individual or groups of pictures to or from the camera in JPEG, BMP, PPM, RGB or CAM formats.
Instruct the camera to take a picture.
Delete pictures from the camera's memory.
Instruct the camera to display a certain picture (or 4 or 9 thumbnail pictures).
Protect or UN-protect specific pictures from deletion.
It seemed to me that the quality of the pictures from qvplay was better than from the QV-LINK software provided with the camera—apparently, some older versions of QV-LINK do some automatic re-touching of the pictures which seems to make things worse. Also included in the package were two utilities:
qvrec: send CAM files to the QV-10 camera.
qvalldel: clear the camera's memory.
I used version 0.92 of qvplay. Just use your favorite search engine to find qvplay-0_92_tar.gz and download from the site nearest you.
Configuration couldn't be easier. Expand the distribution file and follow the instructions. A setup script is provided that worked just fine “out of the box”. I use Red Hat Linux 4.1 with a 2.0.18 kernel. One thing you might want to tinker with is the default serial port for qvplay to use. I changed the supplied default of /dev/cua1 to /dev/cua0. Once it's working, use strip on the executables to remove extraneous lines such as debug commands and run the command make install.
I have written man pages for the qvplay, qvrec and qvalldel software (not in the original distribution). These pages are available at http://home.pacific.net.sg/~bhepple/qvplay/qvplay.html.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Keeping track of IP address
25 min 3 sec ago
- Roll your own dynamic dns
5 hours 38 min ago
- Please correct the URL for Salt Stack's web site
8 hours 49 min ago
- Android is Linux -- why no better inter-operation
11 hours 5 min ago
- Connecting Android device to desktop Linux via USB
11 hours 33 min ago
- Find new cell phone and tablet pc
12 hours 31 min ago
14 hours 42 sec ago
- Automatically updating Guest Additions
15 hours 9 min ago
- I like your topic on android
15 hours 55 min ago
- This is the easiest tutorial
22 hours 31 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?