Canny on a concave grayscale, the result contours can not end in closure

thank you for your explanation about Canny.
Let me simplify my case. My goal is to extract polygon (rectangle is preferred if possible) for gray pattern in the image.I have already generated a binarized image and smoothed it, so just findContours on it will work.
is there anything else i should take care, or any more advice?