Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

What is the USB Camera handler

TQLEngine provides a protocol handler wrapper to interact with USB Camera. USB Camera are handy actuators for home monitoring, taking one off pictures etc.

 

  • High frame rate MJPEG 60 fps @ 1280 (H) x 720 (V) , 30 fps @ 1920 (H) x 1080 (V)
  • CMOS 1080P sensor for high quality image and low power consumption
  • high pixel technology for sharp image and accurate color reproduction
  • low light performance - ideal for any lighting condition
  • UVC for use in Linux, Windows XP, WIN CE, MAC, SP2 or above

USB Camera Parameters

Parameter NameDescription
USBCameraParameters.ImageFormat
Specify image format. Example: jpeg
USBCameraParameters.SaveToDisk
Do you want the image file to be saved to disk?. Value is either true or false
USBCameraParameters.ImageName
Specify the file name to be used when saving to the disk. The file gets saved in the current folder in which TQLEngine is running
USBCameraParameters.Size.Height
Image height. An integer value
USBCameraParameters.Size.Width
Image width. An integer value. 
USBCameraParameters.Configuration.StandardStandard value of image
USBCameraParameters.Configuration.QualityQuality of image
USBCameraParameters.Configuration.ChannelThe acquisition channel. Default is 0
USBCameraParameters.Configuration.Brightness

Brightness of video image (0-255)

USBCameraParameters.Configuration.Contrast

Contrast of image (0-255).

USBCameraParameters.Configuration.GammaGamma of image
USBCameraParameters.Configuration.GainGain of image
USBCameraParameters.Configuration.SharpnessSharpness of image (0-255).
USBCameraParameters.Configuration.SaturationSaturation of image (0-255).
USBCameraParameters.Configuration.HueHue of image

USB Camera Parameter Structure

USB Camera Parameter Structure
<USBCameraParameters>
  <ImageFormat></ImageFormat>
  <SaveToDisk></SaveToDisk>
  <ImageName></ImageName>
  <Size>
    <Height></Height>
    <Width></Width>
  </Size>
  <Configuration>
    <Standard></Standard>
    <Quality></Quality>
    <Channel></Channel>
    <Brightness></Brightness>
    <Contrast></Contrast>
    <Gamma></Gamma>
    <Gain></Gain>
    <Sharpness></Sharpness>
    <Saturation></Saturation>
    <Hue></Hue>
  </Configuration>
</USBCameraParameters>

Invoking UCAM Handler

Invoking UCAM Handler via Invoke
<Action Name="USBCameraImageAction">
  <Workflow Limit="1" Live="1" Timeout="-1">
    <Task name="Main" while="true">
      <Event name="Argument" as="ActionArgument"/>
      <Invoke name="GetImage" waitFor="ActionArgument" post="ucam://">
        <Message>
          <Value>
            <USBCameraParameters>
              <ImageFormat>[%:Event.Argument.USBCameraParameters.ImageFormat.Value:%]</ImageFormat>
              <SaveToDisk>[%:Event.Argument.USBCameraParameters.SaveToDisk.Value:%]</SaveToDisk>
              <ImageName>[%:Event.Argument.USBCameraParameters.ImageName.Value:%]</ImageName>
              <Size>
                <Height>[%:Event.Argument.USBCameraParameters.Size.Height.Value:%]</Height>
                <Width>[%:Event.Argument.USBCameraParameters.Size.Width.Value:%]</Width>
              </Size>
              <Configuration>
                <Standard>[%:Event.Argument.USBCameraParameters.Configuration.Standard.Value:%]</Standard>
                <Quality>[%:Event.Argument.USBCameraParameters.Configuration.Quality.Value:%]</Quality>
                <Channel>[%:Event.Argument.USBCameraParameters.Configuration.Channel.Value:%]</Channel>
                <Brightness>[%:Event.Argument.USBCameraParameters.Configuration.Brightness.Value:%]</Brightness>
                <Contrast>[%:Event.Argument.USBCameraParameters.Configuration.Contrast.Value:%]</Contrast>
                <Gamma>[%:Event.Argument.USBCameraParameters.Configuration.Gamma.Value:%]</Gamma>
                <Gain>[%:Event.Argument.USBCameraParameters.Configuration.Gain.Value:%]</Gain>
                <Sharpness>[%:Event.Argument.USBCameraParameters.Configuration.Sharpness.Value:%]</Sharpness>
                <Saturation>[%:Event.Argument.USBCameraParameters.Configuration.Saturation.Value:%]</Saturation>
                <Hue>[%:Event.Argument.USBCameraParameters.Configuration.Hue.Value:%]</Hue>
              </Configuration>
            </USBCameraParameters>
          </Value>
        </Message>
      </Invoke>
      <Log Message="******Invoked USBCamera******"/>
      <Output name="Result" as="ActionResult">
        <Value>
          <Image>[%:[%:@Output:%]Invoke.GetImage.Message.Value:%]</Image>
        </Value>
      </Output>
    </Task>
  </Workflow>
</Action>

Driver Installation Steps

Installing V4l4j

Installing V4l4j


For the ucam handler to work two things are needed, the video driver of the camera which comes by default and the v4l4j library. The steps below show installing of v4l4j library 
Steps:

1.Before installing the v4l4j some packages are needed to be installed. If you are running debian based operating system type the command

 sudo apt-get install openjdk-7-jdk ant libjpeg8-dev
 
It will download and install the required prereqs, 
 

2. To download the v4l4j you need subversion(svn) tool, download and install it as shown below

sudo apt-get install subversion

3. Now download the library using the following command

svn co http://v4l4j.googlecode.com/svn/v4l4j/trunk v4l4j-trunk
 

4. Then go to the v4l4j-trunk directory (cd v4l4j-trunk) and start the build process by typing the command shown below


{}On Raspbian Wheezy (Raspberry pi):
JDK_HOME=/usr/lib/jvm/java-7-openjdk-armhf/ LIBPIXFC=pixfc-sse/libpixfc-sse-armv6l-hardfp.a ant clean all
*On Wheezy beta: (Raspberry Pi)*
JDK_HOME=/usr/lib/jvm/java-7-openjdk-armhf/ LIBPIXFC=pixfc-sse/libpixfc-sse-armv6l-softfp.a ant clean all
On other environments setup
Setup JDK_HOME environment variable to your JDK path and do
ant clean all 
 

5. If you get this error "error: libv4lconvert.h: No such file or directory" , type

sudo apt-get install libv4l-dev 

And do the build process again. 

6. Once the build process is completed

 

7. Install by running command

sudo ant install
 



8. Finally test the library by running command

ant test-fps
 

  • No labels