Detect touch on non transparent area

Is there an easy way to detect touch only on the non transparent parts of a spritenode.
I know that you can use the physicsbody of the spritenode,

but isn't that way to expensive when you got hundreds of nodes in your scene.