Mysterious face appears after applying filter

7 ビュー (過去 30 日間)
Yu Ang Tan
Yu Ang Tan 2011 年 2 月 7 日
I am applying a median filter to a noisy image and them subplot them for comparison. It works fine, except that there's a dark block on the top left corner of my image. When I zoom in further, I see a face of a boy.
Here's an uploaded screenshot and the zoomed image:
Is this some Halloween prank? Has anyone encountered this? How can I remove it?
Here's my code:
dirty = importdata('dirtytabur.jpg');
if size(dirty,3) == 3
dirty = rgb2gray(dirty);
end
filtered = medfilt2(dirty);
% display image
scrsz = get(0, 'ScreenSize');
figure('Position', [1 1 scrsz(3) scrsz(4)]);
subplot(1,2,1);
imshow(dirty);title('Before Processing'); axis equal;axis tight;
subplot(1,2,2);
imshow(filtered);title('After Processing'); axis equal;axis tight;
% figure(filtered);
imwrite(image,[filename '.jpg'], 'jpg');
Thanks, Yu Ang

採用された回答

Walter Roberson
Walter Roberson 2011 年 2 月 7 日
imwrite(filtered, [filename '.jpg'], 'jpg');
You used image instead of filtered, and image is the name of a function to display an image; when not told what array of data to display as an image, the default for image() is the face of a boy.
  1 件のコメント
Jiro Doke
Jiro Doke 2011 年 2 月 7 日
Here's a blog post about it (and more):
http://blogs.mathworks.com/steve/2006/10/17/the-story-behind-the-matlab-default-image/

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

その他の回答 (1 件)

Yu Ang Tan
Yu Ang Tan 2011 年 2 月 7 日
Thank you very much.
This code is originally part of a function, which takes in a parameter 'image'. I was careless for not noticing that 'image' is an built-in function.

カテゴリ

Help Center および File ExchangeRead, Write, and Modify Image についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by