qvplay and the Casio QV-10 Camera

Linux software to control the Casio QV-10 camera is now available. Mr. Hepple tells us how to use qvplay.
Cameras Supported by qvplay

According to the source code, qvplay appears to support the following cameras:

  • QV-10 in its various flavours, e.g., QV-10a

  • QV-11

  • QV-30

  • QV-100 (including the fine resolution)

  • QV-300 (including the fine resolution)

The only camera I have tested is the QV-10.

Handy Scripts for qvplay

Once I got the hang of qvplay, I wrapped it up in a couple of simple scripts to do the things I normally do without reading the manual pages. These two scripts are:

  1. get_a_pic: A simple script to get one photo. (See Listing 1.)

  2. get_all_pics: Another way to get all the photos from the camera. (See Listing 2.)

Post-processing of JPEG Files

One weird thing that you have to do is fix the size of the JPEG images (see the get_a_pic script). I must confess I don't fully understand what's going on here but apparently the images come across as 480x240 pixels and you must change them to an aspect ratio of 4:3 or 320x240 pixels. You can do this with the xv program or using the Independent JPEG Group's commands, djpeg and cjpeg, along with the Poskanzer portable bitmap utilities. These utilities are normally found in the various Linux distributions. For example:

qvplay -g 1 | djpeg | pnmscale -xsize 320\
        -ysize 240 | cjpeg > foobar.jpg
Using a WWW Browser to View Files

You can view your JPEG files quite nicely with xv(1) or with a WWW browser such as Netscape. In the latter case, you might want to generate HTML index files for your shots using something like the following automatic procedure.

Assuming your JPEG files are sitting in a directory—e.g., I keep all the files from one day's shooting together under a directory labelled with the date, something like ~/photos/971128/*.jpg—I then run the following script on them to create an index page viewable by the browser. This could be put into a Makefile:

(cat hdr
ls $i*.jpg |sed "s/^/<IMG SRC=\"/" |sed
"s/$/\">/"
cat tlr) > index.html

The file hdr simply contains a standard HTML startup:

<HTML>
<HEAD>
  <TITLE>Photo viewer</TITLE>
  <META NAME="Author" CONTENT="Bob Hepple">
</HEAD>
<BODY>
<H1>Photo viewer</H1><HR>
Similarly, the file tlr contains your standard HTML wrap-up script:
<P>
<HR>
<ADDRESS>
<A HREF="mailto:bhepple@pacific.net.sg">Bob
Hepple</A> <P> Copyright © 1997 Bob
 Hepple. All rights reserved.
</ADDRESS>
</BODY>
</HTML>

A Graphical User Interface for qvplay

qvplaytk is a Tcl/Tk wrapper for qvplay which provides a GUI interface. Figure 2 is a screen shot of the program which can be found at its author's (Mr. Amano) home page at http://www.bekkoame.or.jp/~tormato/qvplayk.htm.

Figure 2. Screen shot of qvplaytk

As a Tcl/Tk script, qvplaytk is very easy to configure and adapt. For example, you might like to change the obscure “G”, “S” and “T” buttons to “Get”, “Save” and “Take”.

One very nice feature of qvplaytk is that the “Take” mode allows you to take a photo every N seconds—this could be used in a remote monitoring application. Perhaps it could be used for one of those strange web sites which offer a changing view of the level of the coffee in the kitchen, or for keeping an eye on your kids in the next room.

Apart from qvplay, qvplaytk requires Tcl 7.4 and Tk 4.0 or Tcl 7.5 and Tk 4.1. It also relies on xv for the viewing functions.

______________________

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState