Detecing and Extracting Feature/ object in vedio processing

2 views (last 30 days)
I want to find defects in tiles using computer vision. Defects are like cracks, cut edge, difference in color etc. I am at basic level in MatLab. When tile is running on conveyor, how can I detect tile in video. Also I have to detect the complete area of tile, not a square/rectangular defect on the surface of the tile. Describe to me all methods and the easiest one in detail. The algorithm should be such that when a complete tile is in range of camera focus, it should be detected... I found some detail on Cascade object Detector, Question in mind is how to detect the area of tile when tile is slightly rotated in vedio due to rollers of conveyor,Mean i need specific area of tile so that i can proceed this area for further algos, to find crack, edge cut in tile. Thank you
<<
>>

Answers (2)

Image Analyst
Image Analyst on 19 May 2015
First of all, get your camera angle of view such that it looks down perpendicularly at the tiles, not at a shallow oblique angle. Then take a "blank shot" of just the rollers. Then use the Image Acquisition Toolbox to talk to your video camera and snap an image. Then subtract the background and find non-zero pixels. Since some of the tiles look like they might be touching, you may have to use watershed or imerode() to separate them. Then for each blob that is complete (which will take an algorithm of its own), apply your defect analysis ruotine. Doing all this for you is too much for us to do - all we can do is to give a little guidance.

Dima Lisin
Dima Lisin on 19 May 2015
Hi Altaf,
Assuming that your camera is stationary, I would suggest using vision.ForegroundDetector in the Computer Vision System Toolbox to detect the moving tiles. You can then try to clean up the noise using imopen and imclose, and then separate out the individual tiles using vision.BlobAnalysis.

Community Treasure Hunt

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

Start Hunting!