I want to extract the vein patterns from the attached images. I am trying to code a Vein pattern recognition system. I tried the Canny Edge Detector for getting the edges of the veins but somehow they are not very clear. Any improvisations or other techniques would be greatly appreciated. For information, I am trying to write a C++ Code in OpenCV on Ubuntu.
ROI
Source
Canny
You should try some thresholding methods. There are some that are adaptive and region based. You could also try using some other kernels other than the standard Canny kernels. How you proceed is heavily dependent on how you want to use the output and what the other images look like in comparison.