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);
NF_Cal=NF_V+5;% NF_Cal [55 25 5 5...5 25 55]
Solution CommentsShow comments
Problem Recent Solvers4