I have a full dd of my hard disk which has 3 partitions, how can I using this image only restore a specific partition?
You can loop mount individual partitions. I have done this quite a few times but this blog and similar one you can find on net give you clear step.
The key is to find the offset of your partition in the image.
This man page for bochs is likely more permanent
kpartx will allow you to use device mapper to map the partitions within the image to distinct device nodes.