Ask Your Question

annmelody's profile - activity

2016-04-19 01:51:54 -0600 commented question Canny dynamic threshold

@Balaji R I tried the above solution but findContours didn't work out with the edge map generated :(.

ret, th = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)

edge_map = cv2.Canny(img, ret*0.5, ret)
2016-04-19 00:28:04 -0600 commented question Canny dynamic threshold

@berak @StevenPuttemans Really appreciate your kind help. I have found out the reason and also added the image :)

2016-04-19 00:14:12 -0600 received badge  Editor (source)
2016-04-07 05:46:07 -0600 asked a question 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

image description image description


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!