Interpolate Missing Pixels in an Image

28 ビュー (過去 30 日間)
pankaj singh
pankaj singh 2023 年 2 月 11 日
回答済み: Image Analyst 2023 年 2 月 11 日
I have an 512×512 pixel image. The image is in frequency domain, that is, each pixel value is now a complex number.
Now in the frequency domain image, some pixels are missing (Nan values) that need to be interpolated. Kindly help how to interpolate those values so as to closely match in the original values.

採用された回答

Matt J
Matt J 2023 年 2 月 11 日
編集済み: Matt J 2023 年 2 月 11 日
You can use either fillmissing o regionfill. The fact that the pixel values are complex is not key. You can operate on the real and imaginary components of the image separately to transfer the processing to the real domain. Or, maybe, you could operate on amplitude and phase.

その他の回答 (1 件)

Image Analyst
Image Analyst 2023 年 2 月 11 日
You can use something like
realImage = real(fftImage);
mask = isnan(realImage);
mask = imdilate(mask, true(3));
realImage = regionfill(realImage, mask);
And the same for the imaginary component.
But the question is why are some values nan? I don't think there should be any. Did you use fft2()? Can you attach your original image so we can try to determine that?
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by