Scratch or line detection in images

I have a general question regarding which package I should use to process image files to extract features like straight lines, scratches, arcs and other such features.

Thanks.

From my experience OpenCV should be your best bet.