LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem using IMAQ Array to Color Image vi

I am doing some pixel manipulation & while going from an image to an Image Pixels (U64) array using IMAQ Color Image to Array VI I cannot see the image once it is modified.

 

I am...

1) converting the image to the 64 bit pixel data using IMAQ ColorImage to Array.vi

2) doing the manipulation

3) converting back to an image using the IMAQ Array to ColorImage.vi using the 64 bit input.

 

What I get is...

1) a black image with data behind it... meaning... if I take the magnifier tool and go to the approximate locations of my image where I expect to find the manipulated data, it is there.

2) cast that image to a 32 bit image & still get a black image for the output.  The data however is no longer there and appears to have been stripped.  

3) no error's out of any VI's...

 

TIA  

0 Kudos
Message 1 of 9
(8,265 Views)

oh... also... using LV 8.5.1, Vision 8.5.

 

I took the original image, converted it to the 64 bit array, then converted it back and created an indicator to view the image, I get the same results... black screen with data

behind it in 64 bit resolution.  I also did a comparison of the array's after the conversions and verified that they both match.

 

 

 

0 Kudos
Message 2 of 9
(8,259 Views)
Do you think you can post your Image here? What image type did you set for IMAQ Create?
Andy Chang
National Instruments
LabVIEW Control Design and Simulation
0 Kudos
Message 3 of 9
(8,230 Views)

With Vision 2009 situation is not better.

 

It happened because U64 image displayed in full scale. So, if you have full range of intensities (from 0 to 65535), then you can see something. But if your intensities in small range, for example, 0...255 in all channels, then you will see black image.

 

Feel differences:

 

U64Display.png 

 

It should be possible to map U16 values into U8 display range  with given range (like IMAQ WindDisplay Mapping does), but right now this feature available for I16 images only, not for U64. What you can do is following - map each channel to U8 (with linear LUT, for example), put channels together, then display 32 bit RGB instead of U64.

 

Andrey.

0 Kudos
Message 4 of 9
(8,229 Views)

Hi Guys

 

I have tried to convert my acquired image to the matrix by using "IMAQ Color Image To Array" and then filter it by Median Filtering and then find the convert the modified matrix to image by using " IMAQ Array To Color Image", but unfortunately I just see the white window as a result and also error message

"Error -1074396080 occurred at IMAQ ArrayToColorImage". Any body can help to eliminate this issue?

 

Thanks

 

0 Kudos
Message 5 of 9
(5,755 Views)

Hi Mehdisajjadi,

 

You'll likely get more visibility by creating a new post. Generally it's not good practice to post in old threads. 

 

In the meantime I found this resource which may be helpful: http://forums.ni.com/t5/LabVIEW/How-to-solve-Error-1074396080-occurred-at-IMAQ-array-to-color/td-p/2...

I hope this helps!

 

- Kale

0 Kudos
Message 6 of 9
(5,719 Views)

Hello Andrey,

 

where did you find the VI circled in red in the attached picture please ?

 

Regards,

 

Paul-Etienne.

0 Kudos
Message 7 of 9
(1,655 Views)

@paulreta94 wrote:

Hello Andrey,

 

where did you find the VI circled in red in the attached picture please ?

 

 


It is Cluster Bundle primitive.

Refer to https://www.ni.com/en-us/support/documentation/supplemental/08/labview-arrays-and-clusters-explained...

Please read the "Cluster function" chapter.

Andrey.

0 Kudos
Message 8 of 9
(1,641 Views)

Many thanks Andrey, I will have a look at the URL.

 

Regards.

 

Paul-Etienne Rétaux

0 Kudos
Message 9 of 9
(1,605 Views)