Failing Corba::Any creation of type IplImage.

Hi,

I am trying to send a IplImage (captured from a firewire cam through OpenCV) to a remote GUI using CORBA. I am completely new to Corba, and I followed the Orocos doc and some topics related to this subject. What I have done is then:

1. Write a IplImage.idl to declare the IplImage type;
2. Generate C++ wrappers using tao_idl ;
3. Write a IplImageTypeInfo and redefining decomposeTypeImpl(const IplImage& in, CORBA::Any& out) and composeTypeImpl(const CORBA::Any& in, IplImage& out) as Sylvain subjected in post [http://www.orocos.org/node/947] ;
4. Create an ImageToolkitPlugin and adding the IplImage type by calling ORO_TOOLKIT_PLUGIN() ;
5. Compile all these stuffs into a dynamic library.

On embedded computer, I call cdeployer-gnulinux with my architecture xml file.
On remote computer, I call deployer-corba-gnulinux with my gui xml file connecting to remote Camera.

The type of Camera.frame is correctly set to IplImage. All other stuffs works correctly. DataPort connection works correctly on the same deployer. But when I ask to connect ports of components Camera (remote access through Corba) and GUI (locally loaded), I have the following errors:
On embedded console:
41.796 ( Info )(ControlTaskProxy) Creating Proxy interface for GUI
41.870 ( ERROR )(CorbaFallBackProtocol) Failing Corba::Any creation of type IplImage.

On GUI console:
25.326 ( Warning)(deployer-corba-gnulinux::main()) Can not create a proxy for data connection.
Segmentation fault

Both Camera and GUI have been declared as Corba servers.

Can anyone explain me the problem and give some issues?

Thanks,

Charles.

itunes gift card canada

Interesting post. I have been wondering about this issue,so thanks for posting. Pretty cool post.It's really very nice and useful post.Thanks for sharing this with us!it’s my first visit

http://www.pcgamesupply.com/buygames/iTunes-Gift-Cards-Online-Email-Code/

Failing Corba::Any creation of type IplImage.

On Tuesday 17 February 2009 13:54:34 charles [dot] lesire [..] ... wrote:
> Hi,
>
> I am trying to send a IplImage (captured from a firewire cam through
> OpenCV) to a remote GUI using CORBA. I am completely new to Corba, and I
> followed the Orocos doc and some topics related to this subject. What I
> have done is then:
>
> 1. Write a IplImage.idl to declare the IplImage type;
> 2. Generate C++ wrappers using tao_idl ;
> 3. Write a IplImageTypeInfo and redefining decomposeTypeImpl(const
> IplImage& in, CORBA::Any& out) and composeTypeImpl(const CORBA::Any& in,
> IplImage& out) as Sylvain subjected in post
> [http://www.orocos.org/node/947] ; 4. Create an ImageToolkitPlugin and
> adding the IplImage type by calling ORO_TOOLKIT_PLUGIN() ; 5. Compile all
> these stuffs into a dynamic library.
>
> On embedded computer, I call cdeployer-gnulinux with my architecture xml
> file. On remote computer, I call deployer-corba-gnulinux with my gui xml
> file connecting to remote Camera.
>
> The type of Camera.frame is correctly set to IplImage. All other stuffs
> works correctly. DataPort connection works correctly on the same deployer.
> But when I ask to connect ports of components Camera (remote access through
> Corba) and GUI (locally loaded), I have the following errors: On embedded
> console:
> 41.796 ( Info )(ControlTaskProxy) Creating Proxy interface for GUI
> 41.870 ( ERROR )(CorbaFallBackProtocol) Failing Corba::Any creation of
> type IplImage.

Here you got it: the CorbaFallBackProtocol is used, which means your IplImage
CORBA transport is not used at all in the embedded system. Probably, the
'Camera' type got loaded, but not the CORBA transport.

Check your orocos.log file to make sure that the CORBA transport layer reports
that it can transport 'lplimage' objects....

>
> On GUI console:
> 25.326 ( Warning)(deployer-corba-gnulinux::main()) Can not create a proxy
> for data connection. Segmentation fault

That crash shouldn't be...

>
> Both Camera and GUI have been declared as Corba servers.

Only the Camera needs to be declared as server... but that doesn't cause your
problem.

Peter

Failing Corba::Any creation of type IplImage.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<head>
<body bgcolor="#ffffff" text="#000000">
Effectively, the orocos.log contains:

0.001 [Info] [Logger] Registered new 'CORBA' transport for PropertyBag

and so on for other types, but not fom my own IplImage type.



Further I have my toolkit plugin loaded as well:

0.084 [Info] [Toolkit] Loading Tool MyToolkit.

0.084 [Info] DeploymentComponent::loadLibrary] Loeaded RT Plugin
'MyToolkit'.



How to define a Corba transport over IplImage?



Thanks.



Charles



Peter Soetens wrote:
<blockquote cite="mid:200902171443 [dot] 36190 [dot] peter [dot] soetens [..] ..."
type="cite">
<pre wrap="">On Tuesday 17 February 2009 13:54:34 charles [dot] lesire [..] ... wrote:
<pre>
<blockquote type="cite">
<pre wrap="">Hi,

I am trying to send a IplImage (captured from a firewire cam through
OpenCV) to a remote GUI using CORBA. I am completely new to Corba, and I
followed the Orocos doc and some topics related to this subject. What I
have done is then:

1. Write a IplImage.idl to declare the IplImage type;
2. Generate C++ wrappers using tao_idl ;
3. Write a IplImageTypeInfo and redefining decomposeTypeImpl(const
IplImage& in, CORBA::Any& out) and composeTypeImpl(const CORBA::Any& in,
IplImage& out) as Sylvain subjected in post
[http://www.orocos.org/node/947] ; 4. Create an ImageToolkitPlugin and
adding the IplImage type by calling ORO_TOOLKIT_PLUGIN() ; 5. Compile all
these stuffs into a dynamic library.

On embedded computer, I call cdeployer-gnulinux with my architecture xml
file. On remote computer, I call deployer-corba-gnulinux with my gui xml
file connecting to remote Camera.

The type of Camera.frame is correctly set to IplImage. All other stuffs
works correctly. DataPort connection works correctly on the same deployer.
But when I ask to connect ports of components Camera (remote access through
Corba) and GUI (locally loaded), I have the following errors: On embedded
console:
41.796 ( Info )(ControlTaskProxy) Creating Proxy interface for GUI
41.870 ( ERROR )(CorbaFallBackProtocol) Failing Corba::Any creation of
type IplImage.
<pre>
<blockquote>
<pre wrap="">

Here you got it: the CorbaFallBackProtocol is used, which means your IplImage
CORBA transport is not used at all in the embedded system. Probably, the
'Camera' type got loaded, but not the CORBA transport.

Check your orocos.log file to make sure that the CORBA transport layer reports
that it can transport 'lplimage' objects....

<pre>
<blockquote type="cite">
<pre wrap="">On GUI console:
25.326 ( Warning)(deployer-corba-gnulinux::main()) Can not create a proxy
for data connection. Segmentation fault
<pre>
<blockquote>
<pre wrap="">

That crash shouldn't be...

<pre>
<blockquote type="cite">
<pre wrap="">Both Camera and GUI have been declared as Corba servers.
<pre>
<blockquote>
<pre wrap="">

Only the Camera needs to be declared as server... but that doesn't cause your
problem.

Peter

<pre>
<blockquote>




<FONT FACE=3D"Arial" SIZE=3D2>Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm for more information.<FONT>




<body>
<html>