From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Proper picture display for 16 bits/ 24 bits image


Hi,

I want to use 24 bits bits display for data that is saved as 8 bits. I also want to display image which is stored as 16 bits.

Please open the attached word document, if you are willing to help me. This document would contain the detail of what I am trying to do.

I have also attached two codes; "PD_Display_From_Spreadsheet" is the main vi and the other one is subvie.

Thanks,
DK

0 Kudos
Message 1 of 14
(3,576 Views)
16 bit camera usually means 16 bit for Red, 16 bit Green, and 16 bit for Blue.  It's really 48 bit in Windows platform.
 
Windows can not display 48 bit image.  You have to convert it to 24 bit to display.
 
 
George Zou
 
George Zou
0 Kudos
Message 2 of 14
(3,556 Views)
Thanks.

Would you please read the word document also?

I want to display the image properly.

Let me know what you thinl.
0 Kudos
Message 3 of 14
(3,546 Views)

Since it seems you are only intrested in the blue data (b bits) you can simulate a greyscale image by making the red and green data the same as the blue.  Just get the blue data and replace the green and red data with the blue.  If you leave the red and green data as a value of 0 you will get a almost completely black color image.

Message Edited by paulmw on 11-13-2006 03:27 PM

Download All
0 Kudos
Message 4 of 14
(3,545 Views)
Hi,

It's not that I am interested in blue-data or anyhing. I want to display to get the maximum contrast so that I can see the features. Displaying 8-bits does not show much contrast; while when I tried 24 bits, they image appear blue which is quite irrating to me.

Please try to display this file usingmy code and see..
"Blade_Scan" is the main spreadsheet that I want to display.

Other one contains some other scan information.
0 Kudos
Message 5 of 14
(3,522 Views)
Ok, here is what I am seeing.  You have a file that contains an image.  The data in that file seems to be 10-bit greyscale format (from the data and what you have described it as).  The image is approximatily 100x300 pixels in size.
 
Now, some background.  The graphic VIs expect that color data is going to be in the format of 0x00RRGGBB (in hex) in a 32-bit word.  Each color gets 8 bits of that word and there are 8 bits unused.
 
If you try to display your image which fills 0x00000XXX you will get a mostly blue/black image (which you have already observed).  If you copy the XX data up to the other red and green bits you will get a grey scale image (actually a color image with only grey pixels).  See the attached image.  The down side of this is that you will lose data because you have a 10-bit image (greyscale).  It may be benifical to copy the most significant bits of the image (i.e. bits 9:2, not 7:0).  Using the flatten pixmap VI and using the 8-bit option will also loose the extra 2 bits.
 
If this doesn't satisfy you,  you may have to look into finding a different way to display this 10-bit greyscale image.  Of the top of my head I know that the Visions software would do this quick and easily.
Hope this helps
 

Message Edited by paulmw on 11-14-2006 07:46 AM

Message 6 of 14
(3,504 Views)
Hi Dushyant.. Hello Paul...  Did you solved that problem ? I got same one here.

I have a spreadsheet data which has 286*516 Pixels data. Data is 16bit (from which only 12bit is usefull). Each data is a Level of a Pixel. I want to Display Grayscale Image.

I have used 3D Graph to display it and projection XY selected . I am getting My image as grayscale Image but somewhat slow display if I continously run it.

Second Method I tried is Directly "some 2D Graph" ( Sorry I forgot the Name.. I will get it next time) which directly display that 16 bit spreadsheet file. But it has only 255 levels so it didn't utilized my data and resolution is poor.

My doubts are..

1. Is 3D graph method I am using is Actually displaying my 16 bit image.
2. In 3D graph method : Because of that 12 bit format of my data and I had to convert it in 16 bit I am loosing any levels or       
    Resolution ?
3. Is there any way of increasing 255 level to 16bit level 2D Graph method.
4. Is there any method that can display my 16bit information as a image utilizing all my levels.

Please Do me a favor .. thank you
0 Kudos
Message 7 of 14
(3,294 Views)

Hi Cyborg,

Just so you know Dushyant and Paul posted on this 9 months ago so there may be a chance they won't reply.  I think you may find it useful to read this image concepts manual:

http://www.ni.com/pdf/manuals/372916e.pdf

In particular starting on page 2-2.  As a side note, do you really need 16 bit color levels to view the image accurately.  I agree that the resolution would yield better processing results, but the actual improvement of viewing the image would be minimal.  Plus the 2D graph you are talking about is called an intensity graph.  I hope that explains how 16-bit images are displayed.

Brian K.
0 Kudos
Message 8 of 14
(3,266 Views)
I don't know if someone else has covered this already, but nearly all modern monitors only display 8 bits per colour channel.  This is the final act of denying a 16-bit display.

There may be some displays which offer more, but I'd imagine these are also tied to specialised graphics cards....  Also don't confuse 14-bit LUT (look-up tables) for colour correction in a monitor for 14-bits of colour information.  The 14 bits are used to find the best RGB match, but the images are displayed 8-bit.

In addidion, the colour calibration of many monitors is awful.  Bear this in mind if any images appear to have the wrong colours, or if dark grey levels are indistinguishable from each other.  In fact, many current TFT monitors don't even display 8 bits per channel, but 6 or 7 bits in an attempt to get the reaction times down......

Long story short, anything more than 8 bits on a normal display just doesn't work.  The monitor output is a final limiting factor.

Shane.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)
Message 9 of 14
(3,255 Views)
Thanks Soneill,

So conclusion is that.. My Hi resolution sytem of 12 bit (for Grayscale) is useless because my monitor is limited.

So If I upgrade my monitor and Processor and graphics card to 16 bit ( Suggest me if u have idea what will work) so what is the method in labview to display 16 bit Grayscale image.

Because what I found is Intensity graph only supports 256 levels. Image viewer also support 256 levels.. So is there any other way to do it..
0 Kudos
Message 10 of 14
(3,228 Views)