필터 지우기
필터 지우기

Trouble Removing Uneven Background Lighting from Image

조회 수: 21 (최근 30일)
Nathan
Nathan 2015년 5월 20일
댓글: Jeff E 2015년 5월 21일
Hello,
As I stated I am having some trouble removing a background from an image. I have tried using imopen, imtophat, and a couple other methods, but all of them result in the same problem. The code considers my entire image as a background. For example, here is my original image.
My code to load it is pretty simple
drop=mat2gray(imread('st000.tif'));
As you can see the illumination is fairly uneven, and when I go to convert it to a bw image it cuts off the last half of the stream. When I try and use imopen to find the background this is what I get.
background = imopen(drop,strel('disk',15));
figure()
imshow(background)
If I use imtophat I get this.
I2 = imtophat(drop,strel('disk',15));
figure()
imshow(I2)
Since this image is a little dark, I tried to enhance it using
I3=imadjust(I2);
figure()
imshow(I3)
which gave me
I can't really use this image, since it is so blurry. I have tried taking a static image with the background, subtracting that from the bw image of the original, and that sort of works.
But as you can see it removed a lot of the resolution on the image, which I think has something to do with how I actually convert it into a bw image. I think I can get a better resolution if I can find a way to make a uniform background before converting it to bw.

채택된 답변

Jeff E
Jeff E 2015년 5월 20일
Try using imbothat instead of imtophat, with a slightly larger kernel size.
I2= imbothat(drop, strel('disk', 30));
worked for me, with the exception of some artifacts around the edge.
  댓글 수: 3
Nathan
Nathan 2015년 5월 20일
Yes. That fixed the problem exactly. And now I can get hi-res bw images. Thank you very much.
Jeff E
Jeff E 2015년 5월 21일
Use a bigger kernel size. Say, 45 or so. The artifacts around the edges will be bigger, but you'll capture the larger droplets much more effectively.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by