How to Create Defect Class for Image Processing?

3 次查看(过去 30 天)
Good day everyone, I have a code to inspect part's surface using image processing. And i want one of my output to show the scratches class such as:
class 1 scratch;
class 2 scratch;
class 3 scratch.
I've already calculate the total area of the image for this system. How can I generate the coding for this kind of output? Thank you so much for your replies.

回答(2 个)

Image Analyst
Image Analyst 2021-11-30
Maybe try thresholding with the 'adaptive' option in imbinarize().
Or try a bottomhat filter with imbothat().
Or try getting a standard deviation image with stdfilt() and then thresholding.
Once you have the binary image you can measure all kinds of features with regionprops, like area, perimeter, maximum length, etc. Then you can train it with the Classification Learner app to take all those features and make a prediction as to what kind of defect (Class 1 scratch, class 2 scratch, etc.) it is.
  3 个评论
Image Analyst
Image Analyst 2021-12-1
I doubt that will work. Your scratches might have lots of gray levels in them so it might just pop into the first case. Plus, it doesn't take into account the size of the scratch, it only cares about what the gray levels are.

请先登录,再进行评论。


yanqi liu
yanqi liu 2021-12-1
yes,sir,may be use regionprops to get some properties,such as
Boundingbox,Area,Circularity
then make judge rule to classify
  1 个评论
Afrena Azman
Afrena Azman 2021-12-1
Noted that. I tried using the Classification Learner Apps and it works. Thank you so much

请先登录,再进行评论。

类别

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