Canny edge detection not working on Gaussian blurred images
You don't have to blur your image before passing it to Canny.
OpenCv's implementation already includes a blurring step. So by passing a blurred image, you're effectively blurring the image twice.  That will suppresses edges.
Read about openCv's implementation here.