Hi Orocos Components Library reviewers,
here at PMA we have our own branch for experimental component development.
Some time ago we created some components using OpenCV and a "vision"-toolkit.
The following patches contain the vision components, the toolkit and some
changes to the hardware/camera component.
The components are the following:
- DisplayImageComponent: a "reporter" for images, works kind of the same as
the filereporter but shows the data in windows.
- WriteImage: a component to write images from a port into a file
- LoadImage: a component to load images from a file and put them onto a port
- LoadVidoe: a component to load a video from a file and put the streaming onto
a port
- VisionToolkit: the RTT-types toolkit for images
Ruben
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
Attachment | Size |
---|---|
camera.patch | 3.53 KB |
vision.patch | 59.64 KB |
OCL Vision toolkit
On Tuesday, February 17, 2009, at 02:29PM, "Ruben Smits" <smits [dot] ruben [..] ...> wrote:
>On Tuesday 17 February 2009 18:12:16 S Roderick wrote:
>> On Tuesday, February 17, 2009, at 09:42AM, "Ruben Smits"
><ruben [dot] smits [..] ...> wrote:
>> >Hi Orocos Components Library reviewers,
>> >
>> >here at PMA we have our own branch for experimental component development.
>> >Some time ago we created some components using OpenCV and a
>> > "vision"-toolkit.
>> >
>> >The following patches contain the vision components, the toolkit and some
>> >changes to the hardware/camera component.
>> >
>> >The components are the following:
>> >
>> >- DisplayImageComponent: a "reporter" for images, works kind of the same
>> > as the filereporter but shows the data in windows.
>> >- WriteImage: a component to write images from a port into a file
>> >- LoadImage: a component to load images from a file and put them onto a
>> > port - LoadVidoe: a component to load a video from a file and put the
>> > streaming onto a port
>> >- VisionToolkit: the RTT-types toolkit for images
>>
>> Wonderful to see this, thanks Ruben! Some questions/comments
>>
>> - This toolkit is limited to inside a single process, correct? It does
>> *not* have an Orocos transport plugin/toolkit supporting transport of
>> IplImage's across the network via Corba.
>
>No.
>
>> - It only supports 8-bit RGB and 8-bit grey-scale images? Is this an
>> either/or? It is hard to tell from the patch ...
>
>Since the RGB-pixel and Gray-pixel are defined as unsigned char I suppose it
>currently only supports 8-bit images.
>
>> - It is not for use inside real-time components, due to use of
>> cvCloneImage() style calls? (I understand that image acquisition is seldom
>> real-time, I'm thinking of just image processing here)
>
>The cvCloneImage is only used for the constructors, and if the sizes of the
>image are not the same. Otherwise it uses the cvCopyImage which should be
>real-time save. So basically I think it can be used inside real-time
>components.
>
>Remember this is the result of master student theses, I did not write the code
>myself ;), so I have no idea about the design decisions.
These were observations, not criticisms. It's a good start.
S
OCL Vision toolkit
Hi... and thanks for the job.
I have started quite the same development (naming it Computer Vision Library -- CVL) to have quite the same components. Where my first conception differs is that I would have the rest of my architecture quite independent of image acquisition to keep the same structure independently of being on experimental setup, simulation, testing, replaying...
Then I designed an abstract CameraDevice class with data ports, properties and so on. Then I specialized this class into a FirewireCamera (quite similar to the CaptureCamera) to capture image using OpenCV.
What I have just started is to create another ReloadComponent implementing CameraDevice to reload (and post to the architecture) the images acquired during experiments.
I also plan to develop a FakeCamera (implementing CameraDevice again) to post a unique fake image for architecture testing.
Moreover, I am (desesperately) trying to make a Corba Transport plugin for IplImages to be able to configure the camera properties from a remote PC.
All these stuffs have just begun and I have planned to release something -- maybe an independent cv lib for orocos -- as soon as I have some stable components and some validated results.
---
Charles.