how to detect knurling defects
Alberto from United Kingdom  [3 posts]
8 year
I came across this awesome software and I'd like to master it. But there are so many functions that I am a bit lost, and would appreciate some help from the community.

I am trying to detect defects on the knurling of aluminium bars, the defect looks like a double pass and the rhombus are smaller.

So I thought I could measure the distance between lines or match the shape of the rhombus with the shape match function.

Any better idea?

Thanks a lot

Steven Gentner from United States  [1446 posts] 8 year

One best way to accomplish this is using the FFT module


which can be used to detect certain repetitive frequencies in the image. If you see the attached robofile we run that on the inner unwarped part of the bar which creates a very different power signature.

This expects that the distance to the bars is the same as changing distance from one instance to the next will change the location of those FFT spots.

Once you have the FFT image, you can isolate specific frequencies with a mask and then determine how strong those frequencies are. This amount can then be used to determine if you have the same frequency or a different one in front of the camera.

Attached is example FFT output of image1 and image2. The mask for the FFT frequency is also included with the final robofile.

You will need the latest version of RR to run as we added a scale capability to the bottle_unwrap module.



Alberto from United Kingdom  [3 posts] 8 year
Hi Steven,
thank you for the replay.

I have loaded your sample programme but cannot find the mask gif file in the folder where I saved the robo file. Can you please attach it here? So I can try your method.
Also upon opening you file it tells me I need a new version of RR, I am currently running the latest available evaluation version 2.80.12

I have found a way to do it that gives a good result. See the attachment. There is a significant difference in blob counts for a good and bad part. Will see in the real world how it performs, the sample images I am using are just pictures taken with a photo camera. So far so good.

The maniglia2.robo file has the button interface added. I cannot understand why I need to press the start  button twice.

My big problem now is that I was hoping to run the program on a spare laptop running a clean install of Win7starter 1.66GHz 1GB Ram and RR ver. 32bit 2.80.13, while I have run all the tests on a desktop pc.
Well the programme hangs and it is so slow, the blob filter takes 20sec, I cannot work with it. Also the blob filter gives a different output compared to the one my desktop pc generates. So the next modules don't perform well either.
I am gutted, can you shed a light on it please?


Alberto from United Kingdom  [3 posts] 8 year
Hi Steven,
please discard my last comment about the laptop, I rewrote the sequence from scratch and it works fine.

If you don't mind there are still a couple of questions in my previous post.

Thanks for your kind support

Steven Gentner from United States  [273 posts] 8 year

You can just click on the link above (assuming you are in the forum) to download the robofile and mask image ... even if you lose it ... its always here in the forum.

In terms of the performance, see if you can swap the scale and crop module around. Scaling to such a large image will eat memory ... and you can get the same effect by first cropping and then scaling (much less memory).

The other issue is that the Blob_Filter module is processing about 30,000 objects! Its doing this because the image has not been segmented into black and white before that module. So just add a Threshold module just before the blob filter and that will do the trick ... in fact, you probably don't need the blob filter module since you were essentially using it as a threshold module which it does but in a very slow and bad way in comparison to the fast threshold module.

Lastly, you gave me another quick simpler idea, and that is just to count the amount of texture in the image. That does the trick to tell the difference between the two images and is much simpler than all the current robofiles ... see if you can follow how it works. I adjusted it for your Pass and Fail images.


This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index