I'd start with simple collision shapes which then trigger a bitwise collision check.
The "BitMap" class may be of help here. It allows converting image alpha into an array of booleans:
If the Sprites are 64 or less Pixels wise you could i.e. convert such a "BitMap" into an array of Integers (one per Line) which represent the alpha in binary form.
For collision check the binary shift the int and the array index depending on the relative pixel coords of the two colliders. Then binary AND boths ints and there's a collision when the result is >0.
An example for one line:
Sprite B is 2 pixels right of Sprite A so shift binary value 2 bits to the right: -->
maskB[lineix] >> 2 => 00111101
Then bit AND:
010100 & 00111101 ==> 00010000 >0, so it is a collision.
See here for bitwise operators:
But this is just one idea. Maybe there are easier ways.