Defect detection algorithm - Sandblasting

조회 수: 4 (최근 30일)
Jack Sharp
Jack Sharp 2021년 3월 14일
답변: Tarunbir Gambhir 2021년 3월 17일
I'm currently creating an algorithm to detect incorrectly sandblasted components via image.
I've separated the component from the background, but need to detect the defect (depicted by more "sparkly bits"). I assume that I could compare the quantity of white pixels ("sparkly bits") with a healthy component in order to detect the defect. How can i measure the quantity of white pixels?
This may be a broad question but any direction would be greatly appreciated.
Thankyou.
  댓글 수: 1
DGM
DGM 2021년 3월 16일
I'm not really into the more technical image processing aspects, but the most basic sort of bright feature analysis would be something like
threshold=0.9;
thresholdedimage=partimage>threshold;
numberbrightpixels=sum(thresholdedimage);
Of course, that seems awful simplistic. Maybe the bright bits only really matter contextually when they occur in a solid patch (a smooth, unblasted specular area as opposed to tiny sparkles from a rough surface). In that case, running imopen() or bwareaopen() on the thresholded image may help by excluding features below a certain size.
Also "quantity" might mean different things depending on what we really want. A pixel count is one thing, but maybe it's the intensity distribution that's more meaningful. In that case, maybe we could be looking at the histogram.

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

답변 (1개)

Tarunbir Gambhir
Tarunbir Gambhir 2021년 3월 17일
I recommend you use different morphological operations to process this information from images. I also suggest you go through the following examples for more information on how to use these functions.

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by