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

37.5% Correct | 62.5% Incorrect
Last Solution submitted on Nov 08, 2021

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers4

Suggested Problems

More from this Author308

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!