how can i delete special shape in image?

조회 수: 4 (최근 30일)
nadia
nadia 2016년 10월 18일
댓글: nadia 2016년 10월 21일
I have some mammography images and I want to delete rectangular shape in image, some of this images are attached here, can you help me or suggest any solution? thanks in advance.

채택된 답변

Image Analyst
Image Analyst 2016년 10월 19일
Nadia:, Try the attached demo.
  댓글 수: 1
nadia
nadia 2016년 10월 21일
Thank you very much. That's excellent.

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

추가 답변 (2개)

Image Analyst
Image Analyst 2016년 10월 18일
First threshold to find super white things. Then use bwareafilt() to extract things larger than a certain size that you know to be the minimum. Then use imfill() to fill the holes, Finally use the binary image to zero out those pixels. Something like
binaryImage = grayImage > 240;
binaryImage = bwareafilt(binaryImage, [10000, inf]);
binaryImage = imfill(binaryImage, 'holes');
newGrayImage = grayImage; % Initialize output image.
newGrayImage(binaryImage) = 0; % Zero out pixels
If you need to keep the big white triangle, then change inf to something smaller, or see if the blob touches the top and bottom border or something like that. If you end up with blobs inside the breast, then try changing the 240 threshold or the 10000 minimum size. If all that does not work, then you'll need to examine each blob for how many vertices it has, which could be tricky. I've attached a shape recognition demo for "perfect" shapes, but with noise and "real" shapes, it's not clear if a rectangular shape will really have 4 vertices, so you may have to do more sophisticated shape analysis, such as smoothing the shape outlines (demo attached) before examining for the number of vertices.
  댓글 수: 4
nadia
nadia 2016년 10월 19일
In some images this tag is near the breast and I can not crop it because I loss the breast region and this tag dose not have rectangular shape in all images so I'm confused and I do not know what to do.
Image Analyst
Image Analyst 2016년 10월 19일
Then do what I said and simply erase it without erasing any of the breast or cropping it. Have you tried what I said yet??

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


Chaya N
Chaya N 2016년 10월 18일
Before you write a (somewhat complicated) piece of code to remove these rectangular areas, the question I would ask is this: Do these areas appear in the same spot on all your images?
Radiological images are usually automatically numbered and generally they appear in the same location on most images (one of the corners). If so, the simplest way of removing them would be to look at the relevant pixels and simply change them to zeros by brute force. All this requires is a very small and very simple script! If not, the previous answer should help. Good luck!
  댓글 수: 2
nadia
nadia 2016년 10월 18일
in my database they are in different location, thanks for your explanation.
Chaya N
Chaya N 2016년 10월 18일
If the tags/numbers are in the top right or top left corners, you could flip them so all the images either have tags in the top right or the top left corner. This also helps to have uniform images if you have to process them further later on.

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

카테고리

Help CenterFile Exchange에서 Dimensionality Reduction and Feature Extraction에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by