Jump to content

prabhakaran

Members
  • Posts

    16
  • Joined

  • Last visited

Posts posted by prabhakaran

  1. Hi,

     

     

    I am trying to use image convolution inside FPGA. My Image size is around 6kx2k. The convolution is applied properly until 2600 pixels in x resolution. After that, the values seem to miss previous row data. 

     

    In Detail: As convolution is matrix operation, image data needs to be stored for the operation. But it seems there is an inadvertent error storing only 2600 pixels per row inside FPGA. And hence the filtered output is calculated assuming these pixels to be 0. 

     

    I have tried with different image sizes, different convolution kernels, and also in different targets (cRIO 9030 and IC 3173). All results are same.

     

    I have attached a screenshot of FPGA VI and an example image.

     

    The example image shows an input image of 4000x2500 of same pixel value 16.The kernel is 3x3 of values 1 with divider=1. The RT image is processed using IMAQ convolute inside RT controller and has value 144 [(9*16)/1] for all pixels. But the FPGA processed image (zoomed in) has 144 until 2597 pixels and then 112 (7*16- showing 1 column of 2 rows missing) at 2598, 80 (5*16- showing 2 columns of 2 rows missing) at 2599 and 48 after that (missing 3 columns of 2 rows- current row is always present). This shows the data is missing from the previous rows after 2600 index.

     

    Is there some mistake in the code or any workaround available?

    Filter VI.PNG

    FPGA Filter.png

  2. Well a VI doesn't have to be reentrant to be dynamic.  But generally this is what you want because dynamic usually means you are going to spawn N copies of this VI at once, and that can only happen with a reentrant VI.  

     

    hoovah,

     

    I need to launch it only once. It is working well if I statically link it. I am now able to launch it. Previously my problem was that I had already referenced the vi statically somewhere else(though not called) and had the VI property set to show front panel on call. This had let the vi to be already running( i am not sure why this behavior occurs) . But the existing problem is the vi is not showing its front panel on PC(from which I am running the VI) though it shows on embedded UI.

     

     

    Are you launching the class member from within the class itself?

     

    Shoneill,

     

    No I am not doing so. The vi I am running is a public vi. I am running it from the startup vi.

  3. Hi all,


     


    I am trying to launch a vi dynamically inside RT. But I am unable to do it. It either throws up error 100 (VI not in compatible state for this operation) or just I get disconnected from the RT. I am not sure about the problem and I need help in this. How do I launch a VI dynamically inside RT. All its dependencies are downloaded to RT.


     


    The VIs I am trying to launch is a member of a class. 


    VIs property is set to be modal. (I want it to be front most when it gets launcheed. We are using LabVIEW Embedded UI for monitoring purposes). 


    I am able to get the reference of the VI porperly. The error occurs in invoke node which tries to run the VI. 


     


    Should the VI be reentrant for launching(a hunch of my own-but not sure why it should be)?


     


    Thanks in advance for your replies.


  4. Hi all,

     

    I am trying to have an OOP based architecture inside RT ,where FPGA acquired values are used inside RT. So my plan is to have a generic base class upon which different systems(Child classes) are built. My child FPGA VIs will have additional controls in Front panel along with the common ones. So where can I put the FPGA ref? I cannot have it in base class since it will not bind all the controls. But if I have it in Child classes, how can I have the common functions in Base class?

     

    Looking forward to your suggestions guys..

  5. Hi all,


     


    I am trying to get images from a GIGE camera connected to the secondary ethernet port of cRIO 9082. I cannot see my camera in MAX. I have installed NI IMAQdx 4.3.5.3.0, NI Vision RT 13.1.0.3.2 in cRIO. I cannot see NI IMAQ server as an option to install if I go to the custom installation page. Is that the problem? If so how do I get it?


     


    P.S: I can see that LabVIEW Real-Time 2013 Support for NI-IMAQ 4.9 is installed in my PC


     


    Regards,


    Prabhu


  6. Hi all, 

     

    I am trying to compile an FPGA code which results in the error as follows:

     

    ERROR:HDLCompiler:1566 - "C:\NIFPGA\jobs\t1y1Y1O_hxEgG35\NiFpgaAG_0000002b_SequenceFrame.vhd" Line 42: Expression has 32 elements ; formal ceioparameter0signal expects 24 :oops:

     

    How do I debug this. I have no idea about how xilinx compilation. Help me  :thumbup1:

     

    Thanks,

    Prabhu

  7. Hi all,


    I am using a Atmel Aviiva camera in my application. I need to change some camera parameters permanently. So , as I learnt through web, I can do it by editing the associated *.icd file. But the aviiva files look different. They contain the camera parameters for all interface types. (i.e., PCIe 1430, PCIe 1433 and so on). So to edit the exact parameter I need to find the interface type being used now. How do I get the interface type programmatically? Is this information stored anywhere? Or Is there any available method other than this to permanently edit the IMAQ camera parameters?


     


    Thanks in advance for your help.


    Prabhu


  8. Hi all,

     

    I am using IMAQ vis to capture images from two cameras. I am triggering the second camera from first camera. Actually the error I am getting is weird. I am trying to unassert external trigger of camera 1 during uninitialization of the camera, using IMAQ Trigger Drive2. But an error saying "there is not enough resouces available to complete the requested option" ( code:-1074397005) occurs . Yet, if I try to do this at initialization, no error pops up. I am completely confused. Any help on solving this issue is welcomed.

     

    Thanks,

    Prabhu

  9. Hi all,

     

    I am working on a project in which I need to create files dynamically, say text files for each measurement. As these files are created dynamically, these are 'owned' by created user. From the same user I can read, write these files.

     

    But if I try to access these files from other user accounts, those accounts have only read permissions over the dynamically created files. But I need Write permissions. 

     

    Any suggestions to help achieve this functionality is appreciated.

     

    P.S.:This problem doesn't occur in windows 7.

     

    Thanks in advance,

    Prabhakaran. :shifty:

    Main.vi

  10. AVI is really only a container format and mostly meant by Microsoft to be used for real world video. What format the data is actually written in depends highly on the available codecs on your machine. Most likely it won't support U8 and/or greyscale without installing a very specific codec that supports such a format. And if you created such a formatted AVI you won't be able to replay it on machines that have not the same codec installed.

     

    The Windows AVI interface correctly changes the format to an available codec format that, at what it believes at its own discretion is the closest match to the incoming format. If you check the format of the resulting AVI file with some AVI file format checker you will see that it is already RGB when written on disc and the reading will simply read in what is on disc and has no way to magically know that it should convert it back to U8 greyscale.

    Hi Rolf,

    Thanks for your reply. But I have tried "Y800 Uncompressed Grey Scale (NI Vision)" codec. This codec comes along with NI Vision installer. From the name of the codec, looks like it supports grey scale images to be written. 

     

    Earlier, we were able to write and read grey scale images using AVI1 vis and we don't have to specify codec in the AVI1 vis.

     

    Thanks,

    Prabhakaran. :thumbup1: 

  11. Hi all,

     

    I am writing an avi file composed of u8 grayscale images using IMAQ AVI2 write frame function. But when I am reading the file image type with IMAQ AVI2 Get info the image type is shown as u32-RGB :oops: . I searched through net but I couldn't find a solution. Could I get help on the knowledge why it does so? 

     

    Vision Version:13.0.0

    Codecs Tried:  Cinepak Codec by Radius,FF Video Codec 1 (FFV1) (NI Vision),Motion JPEG (NI Vision),Y800                                                  Uncompressed Grey Scale (NI Vision),YUV 4:2:0 Planar (NI Vision).

     

    Thanks in advance,

    Prabhakaran :thumbup1:

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.