How do I create and apply a vignetting correction mask?

7 ビュー (過去 30 日間)
Josh
Josh 2014 年 3 月 4 日
コメント済み: Josh 2014 年 3 月 7 日
I am trying to correct for vignetting that appears in High Dynamic Range Images. In order to do so, I need to create some sort of vignetting correction mask that can be applied to the image in order to counteract the light falloff at the periphery of the image. I have an image of a uniform luminance surface that shows pixel vignetting, and the idea is to divide the entire image by the max pixel value to create an image where each pixel value is a ratio of the max value. In theory, if I divide the vignetted image by the newly created "ratio image", then the vignetting would be corrected. From reading other posts and answers, I am assuming I would have to convert the image to grayscale so that I am dealing with only one pixel value instead of the RGB values. If there is a way to do it without converting it to grayscale then that would be preferred. I know basic commands in matlab so any help would be greatly appreciated.
  1 件のコメント
Josh
Josh 2014 年 3 月 4 日
I know that vignetting is also depends on aperture size, and I have all of the .jpeg and .RAW files used to compile the HDRI.

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2014 年 3 月 4 日
No you do not have to convert to grayscale, but you do get a grayscale image because you do it one one color channel at a time. Essentially this:
% Divide the actual image by the modeled image.
correctedColorChannel = single(oneColorChannel) ./ single(noiselessBackgroundImage);
which is in the attached file. But first you have to create the model background image, which is created from your "blank shot" by the other attached file.
  1 件のコメント
Josh
Josh 2014 年 3 月 7 日
Thank you for your quick response. I will try this and let you know how it works.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by