removing flim artifacts from image

6 次查看(过去 30 天)
I have an MRI image in which it contains artifacts and white labels,kindly tell how to remove these labels and artifacts,I have uploaded the image
  3 个评论
Walter Roberson
Walter Roberson 2013-12-25
I removed the image link pending clarification on this issue.
kash
kash 2013-12-25
Sir there is no other way proceeding this

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2013-12-24
If you want to do it automatically, if you can depend on the white letters and other annotations being 255 or 65535, then you can just erase them
maxValue = max(grayImage(:))); % most likely 255 or 65535 depending on 8 or 16 bit.
whiteStuff = grayImage == maxValue;
grayImage(whiteStuff) = 0; % Set white things to black.
Now if there are parts inside the skull that could also be the sam brightness then you'd need to use a different strategy. You'd have to find the background intensity, threshold, and find the largest blob (see my attached demo). Then invert that binary image and mask your original with it.
binaryImage = grayImage > 50; % or whatever value the brightest part of the background has.
binaryImage = imfill(binaryImage, 'holes');
largestBlob = ..... - see my demo
% Now erase
grayImage(~largestBlob) = 0;
This is probably more robust than the first method because it can handle super bright things inside the skull.
  14 个评论
Image Analyst
Image Analyst 2013-12-30
Why? Shouldn't the black background have about the same intensity in each image?

请先登录,再进行评论。

更多回答(1 个)

Matt J
Matt J 2013-12-24
I think you could just use H=imfreehand(...) to draw an ROI around the anatomy that you want to keep.
Then you can do
mriImage=mriImage.*(~H.createMask);
to get rid of it.

类别

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