Canny dynamic threshold
[update]
Thanks for one of the comments that remind me of the possibility that it doesn't find anything useful at all... I modified the threshold I used in creating edge map, and it started to work correctly! However, I am wondering if there is a more robust way to generate dynamic threshold for canny edge detection?
below is the img I used
I have found a similar post here: http://answers.opencv.org/question/14...
but I'm using version 3.0, anyone has the same problem?
Here is my code...
edge_map1 = cv2.Canny(img1, 100, 200)
edge_map2 = cv2.Canny(img2, 100,200)
contours1, hierarchy1 = cv2.findContours(edge_map1, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
contours2, hierarchy2 = cv2.findContours(edge_map2, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
for c1 in contours1:
for c2 in contours2:
ret = cv2.matchShapes(c1, c2, 1, 0.0)
However, the returned value is always zero. Thanks in advance!
can you add your images ?
+1 for trying to format your code, but next time, please use the
10101
button, not the"
one ;)One of the many reasons that matchShape cannot return a match, is because one of the findContours doens't find anything usefull, therefore like @berak said, we need at least your data to test this out :)
@berak@StevenPuttemans Really appreciate your kind help. I have found out the reason and also added the image :)
Please check this answer! http://stackoverflow.com/questions/42...
@Balaji R I tried the above solution but findContours didn't work out with the edge map generated :(.