08-07-2008 01:33 PM
08-08-2008 03:18 AM
08-08-2008 09:19 AM
The problem I am dealing with is looking at a display screen with a CCD camera. I can control when and how long the camera takes an image. What I do not seem to be able to control yet, is the display.
If the display is displaying a dark (no brightness 0,0,0)...It will be doing that at the "refresh" rate of the screen. (like 60Hz). If I want to put an image on the screen, and have it appear for only one of the refresh periods (forgive my old person reference to "sweep") then I have to be able to write several dark frames to the display, followed by one frame containing the image I want to see, then more dark frames. The reason for doing this is that coordinating when the camera takes the image from the screen is difficult...
Think of it this way. In the old style flash pictures the photographer would remove the lens cap, flash the flash powder, and then replace the lens cap. The only way I can control exactly how much light is reaching my camera from the display is to open the camera (begin taking an image with a known integration time longer than one refresh time of the display screen, then put one...and only one...image on the screen followed by more dark frames and then close the camera integration.
That's the problem. I can do it with AVI's ... by making a movie of what I want to show and then playing the movie, and trying to figure out when the particular frame I am interested in will appear...but that takes a lot more time and effort than being able to control all the activity directly by the use of vi functions.
See where I'm headed?
Thanks...
Hummer 1
08-08-2008 01:37 PM
08-08-2008 01:48 PM
Thanks for your note.
My application is testing the response of cameras and software to images containing precisely located points of light. Yes, I would like to synchronize the image taking with the display refresh. Average levels mean nothing in this process...I need to be able to control the beginning of the camera integration period(which I can do), the end of the camera integration period (which I can do) and exactly how long the image is presented to the camera....(not in ms...but in refresh periods of the display device...if I were to try to do it with "timers" I would wind up with the display partially refreshing during one of the integration periods of the camera and that would produce varying pixel values...)
Thanks in advance for your help.
The Hummer
08-09-2008 05:22 AM
08-11-2008 11:00 AM
Here is the best I can do.
I want to take an image of an lcd screen, or a dlp projected screen, with a ccd camera. This is not a stationary image which I can mess around with, take histograms, adjust lighting and all that...it is to be presented in a flash...one frame...and then it will be gone.
The camera has integration time control and the ability to control when the image taking process begins. The image I take is required to have a certain number of photons provided to the camera. The only way to assure that the correct number of photons hit the ccd array in the camera is to control the duration and brightness of the image which is provided to the camera by the display. If the display can be controlled on a frame by frame basis, then that is good enough.
Each frame of image on the display will provide an opportunity to provide "Nothing" or "Something". While there is "Nothing being provided" (i.e. in a dark, blank, (0,0,0) image frame) then the camera will record nothing, even though it is in the acquisition mode and within the integration time window. When a "Something" frame is presented, one and only one frame mind you...(One ping only, please)...then a fixed duration of information will be displayed on the screen, the dynamics of refresh will take place and the camera will accumulate all the photons from that frame...Then when the screen (presented image pixel values) returns to "Nothing"...(0,0,0) no more photons will be accumulated by the camera...achieving my goal.
If I could synchronize the camera to take an image consisting of integer numbers of frames (0, 1, 2,...) beginning as each frame was being "turned on" by the display, that would satisfy my requirement. What I DON'T want is to take images of a fractional number of frames (0, 1.23, 1.8, ...)
I would like to have the ability to synchronize the taking of the image with the refresh of the screen so that I get control of single frames of information provided to the camera. But, if I can't control how many frames of information are provided, synchronization is not important.
Does that help?
I Humm, because I can't sing.
08-11-2008 11:36 AM
08-11-2008 01:54 PM