Metal Defect Detection

asked 2015-02-05 16:13:52 -0600

serser12 gravatar image

Hi Guys,

I am trying to develop a machine vision project about cartridge inspection. I need some help about defect detection techniques. This is one of sample images: image description

I try to find cardridge area with adaptive threshold. I extracted the inner of cartridge using adaptive threshold.

image description

My questions about defect detection techniques

  • The surface have a texture, but small points aren't defect. Do you have a good idea to find defects on surface?

  • Should I dissect the cartridge ROI or is there any good method inspect whole cartridge ROI at once?


edit retag flag offensive close merge delete


by defect do you mean for example the scratches that can be seen in the original image in the middle?

theodore gravatar imagetheodore ( 2015-02-05 17:26:49 -0600 )edit

Yes it is a type of scratch defect. Defects can be located anywhere on the surface. Usually defects creates unusual flares.

serser12 gravatar imageserser12 ( 2015-02-06 01:45:55 -0600 )edit

This type of defect should be clearly visible if you try and edge detection, since the scratches are reflecting more light than the other points. Setting up the thresholds for Canny detector (for example) will leave the rest of the surface black and 2 lines where the scratches are located. Don't know if it will work also for other types of defection.

David_86 gravatar imageDavid_86 ( 2015-02-06 07:31:19 -0600 )edit

Hi, at first you should sesrch the object position and size, and find the edge, you can fallow steps,for example:

cv::blur(src,dst1,cv::size(3,3)); cv::blur(src,dst2,cv::size(7,7)); cv::subtrace(dst1,dst2,dst); cv::threshold(dst,........)

remove the boundary, then i think you can find it

wuling gravatar imagewuling ( 2015-02-06 07:48:05 -0600 )edit

how to use this subtrace. Thanks in advance.

vg gravatar imagevg ( 2015-04-08 13:25:07 -0600 )edit

sorry, correct is subtract function

wuling gravatar imagewuling ( 2015-04-09 08:19:46 -0600 )edit

Hey serser12 i have similar project going on, may i know if you figured out how to do this?

Thanks in advance!

vg gravatar imagevg ( 2015-04-21 10:51:11 -0600 )edit