I have obtained the image below after applying thresholding. The white areas inside the boundaries represent the defective part. I only want these defective parts on the image, like the ones inside the blue boxes. The approach in my mind is to use any edge detection algorithm and then subtract that image from the original one so that only defective parts remain on the image. I have used many edge detection algorithms, but I failed to obtain the desired result. How to extract boundaries or edges from the given image. Or is there any better way to solve this problem?

 채택된 답변

Image Analyst
Image Analyst 2021년 7월 18일

1 개 추천

Surely that is not your original image? The image you posted looks like an edge detection image. To get big clusters of white pixels, I'd first try an opening with imopen() to get rid of the thin grid lines. Then I'd try imclose() to try to merge the concentrated areas into more of solid blobs. Then I'd use bwareafilt() to try to extract only blobs of a known size.

댓글 수: 2

Umama Nasir
Umama Nasir 2021년 7월 18일
Thanks! This is really helpful.
Image Analyst
Image Analyst 2021년 7월 18일
You're welcome. Thanks for accepting the answer. You're not, by chance, doing damage assessment (like after an earthquake) are you? If so, check out papers on that:
For example, papers there show how to identify damaged buildings from aerial/satellit photos.

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

추가 답변 (0개)

제품

릴리스

R2019a

질문:

2021년 7월 18일

댓글:

2021년 7월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by