Edge detection method for image cropping

For this image I need to get the silver part alone as image for detecting the defects in it. I have written the code for detecting defects. I need a support to crop the silver part and save it as seperate image.

Answers (2)

Matt J
Matt J on 14 Mar 2021

3 Comments

i need a matlab code
Why? The work has been done for you already.
need for project

Sign in to comment.

Image Analyst
Image Analyst on 14 Mar 2021
Edited: Image Analyst on 14 Mar 2021
Wow - so many problems with that, where do I start? First of all your image capture conditions are horrible. You should use a black background to make thresholding easier. Black velvet will work nicely. Secondly, from the perspective warp we can tell you're not using a telecentric lens. And it looks like you don't have a mounting jig. Using a mounting jig would ensure that your part is in the same position in every image and you can just use a fixed template to mask off where the part is known to be. Your illumination is horrible. How can you find defects when you have a specular area that's totally saturated!?!?
There's more, but that's enough for starters.

6 Comments

Thanks for letting me know the issue. I am working on my hardware to make the above mentioned corrections. After the completion of the hardware I need to add the code in my project for submission. So do help me with the code.
OK. Why do you need to crop this image? Why can't the processing continue without cropping it out? Have you tried imcrop()?
The part is tilted. So you want to erase (blacken) stuff that is not aligned with the bounding box?
RX Ragul
RX Ragul on 23 Mar 2021
Edited: RX Ragul on 23 Mar 2021
I need to find the area of defect. So I need to exclude to background. This is the need to crop the image.
OK, so you do not need to crop the background - you just need to leave it there but ignore it. So you do your image segmentation to create a binary image that is "true" where there is a defect or something of interest that you want to measure, and "false" where there is background or something you do not want to measure. No cropping is needed because when you pass that binary image in to regionprops(), it will pay attention to only the items in your binary image mask. Again, no cropping is needed (such as with imcrop()) because the binary image tells regionprops() what to consider, and what to ignore.
See my Image Segmentation Tutorial for a full demo:
Can you help me out with an example output and a code snippet, because i cannot get you.
Post an image from your now improved image capture system, and indicate exactly where in the image the defacts are.

Sign in to comment.

Asked:

on 14 Mar 2021

Commented:

on 24 Mar 2021

Community Treasure Hunt

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

Start Hunting!