Problem 667. Image Processing 01: Vignetting Correction
The task is to correct image files for IR scanning sensors that due to errant tolerancing and structural instability have varying partially vignetted(V) images. Fortunately the V artifact is in a converging ray bundle and only the edges are impacted to differing amounts. Also, fortunately the sensor has a Low source flat field calibration target that can be used to determine the Nearfield(NF) for each image. The obscuration varies cross-scan but is constant for all samples. The NF varies with the structure temperature. To repair the optics in the drones is cost prohibitive. Fortuitously, the Image Processing is based on Matlab and needs only a fast function to perform an In-Scene image adjustment good enough for govt work.
Output: Fixed image(Fimg) (Array <= 512x512 of type double)
Input: Corrupted Image file(Cimg) (double); Low Signal NF_Cal (1xncol)
Tolerance: Good enough is 1%+1 count of Truth (Timg)
Assume Ideal LCal file where the center is a DC offset, not Vignetting.
LCal provides V Offset. Obscuration: Max is 25% at edge, Min 8 columns wide.
Corrupted Image creation: Start with Truth (Timg)
CImg = Timg(1-Obscuration)+ NF_Vignetting
example: Obs = [.25 .1 0...0 .1 .25]; NF_V [50 20 0...0 20 50];
load penny.mat; Timg=double(P);
Cimg=Timg.*repmat(1-Obs,128,1)+repmat(NF_V,128,1);
NF_Cal=NF_V+5;% NF_Cal [55 25 5 5...5 25 55]
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers4
Suggested Problems
-
Make the vector [1 2 3 4 5 6 7 8 9 10]
48995 Solvers
-
231 Solvers
-
11073 Solvers
-
Getting the indices from a vector
9672 Solvers
-
485 Solvers
More from this Author308
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!