Removal of Vertical Bars from Video Frames?
solarblast wrote on Apr 18, 2009
I am working with an all-sky (fisheye) video camera for fireball (bright meteors) work. When I look at individual frames, I see vertical bands of about 3-5 pixels width across the image, light, dark, light, dark, ... These are likely caused by the video camera and the fact it is operating at high gain. Is there some IP method that might be useful in eliminating them? Here's a typical frame at
http://www.sendspace.com/file/v9mt43
Ignore the lines I've drawn on the image. The horizon is a circle. If you look closely along it, you can see trees. The white dots are likely noise Those along the horizon at the bottom (south) are nearby neighbor's lights.
http://www.sendspace.com/file/v9mt43
Ignore the lines I've drawn on the image. The horizon is a circle. If you look closely along it, you can see trees. The white dots are likely noise Those along the horizon at the bottom (south) are nearby neighbor's lights.
Francisco Valdes wrote on Apr 18, 2009
Hi,
Yes there are simple IP techniques that can improve the image. What I would suggest is that you collapse a number of rows where there is blank sky. This will form a 1D pattern. You can then use imarith to subtract this from all the lines of the image. To do the collapse as simple method would be to use an image section and blkavg:
Because of the circular pattern you might also need to subtract a low order background from the pattern vector. This might be fit1d.
There are various ways to do what I describe but the basic idea is to make the 1D pattern vector which is subtracted from each line.
Yours,
Frank Valdes
Yes there are simple IP techniques that can improve the image. What I would suggest is that you collapse a number of rows where there is blank sky. This will form a 1D pattern. You can then use imarith to subtract this from all the lines of the image. To do the collapse as simple method would be to use an image section and blkavg:
blkavg image[*,91:125] pattern 1 135
imarith image - pattern newimage
Because of the circular pattern you might also need to subtract a low order background from the pattern vector. This might be fit1d.
There are various ways to do what I describe but the basic idea is to make the 1D pattern vector which is subtracted from each line.
Yours,
Frank Valdes
Francisco Valdes wrote on Apr 18, 2009
I did a quick experiment to make sure I didn't steer you wrong. I found you need one step to force the pattern to be 1D.
This seems to make a reasonable improvement. By the way, the bars are often called a bias pattern and what this type of operation is called is bias removal. This assumes this is an additive pattern. Flat fielding is when you divide by the pattern assuming the effect is a variation in sensitivity. However, you have to be careful about dividing by small numbers and ideally people take a high signal exposure of a blank field (or of a white screen) to create the flat field calibration.
Frank
blkavg v20080118_212433.43[*,91:125] pattern 1 135
imcopy pattern[*,1:1] pattern1
imarith v20080118_212433.43 - pattern1 newimage
This seems to make a reasonable improvement. By the way, the bars are often called a bias pattern and what this type of operation is called is bias removal. This assumes this is an additive pattern. Flat fielding is when you divide by the pattern assuming the effect is a variation in sensitivity. However, you have to be careful about dividing by small numbers and ideally people take a high signal exposure of a blank field (or of a white screen) to create the flat field calibration.
Frank
Last post on Apr 18, 2009