Is your goal to have a solution that will work with any bridge-size deck, or a solution which can be adapted to work with some particular readily-available bridge-size deck? If the latter would be acceptable, and if you could move cards vertically through the machine, you might be able to get by with a single optical pickup. Were it not for the fact that they use red light, one might even be able to get by with an off-the-shelf reflective photo-eye unit or swipe-style barcode reader; I'm not sure red cards could be scanned reliably with a red LED, however. Perhaps some vendors' cards would work reliably with an IR-LED scanner.
In any case, the goal would be to draw a vertical line some distance from one edge of the card such that all 13 ranks and all 4 suits would yield unique patterns. I would expect that most vendor's card designs would be amenable to finding such a line. If one needs to have the cards move horizontally, it would most likely be necessary to use at least 2-4 lines through the card (one or two each for the rank and the suit). Things would be complicated by the fact that the top half of a spade looks like the top half of a diamond, and the bottom half of a heart looks like the bottom half of a diamond; it would thus be somewhat difficult to have a single horizontal line distinguish all four suits. By contrast, a slightly-off-center vertical line would yield three blobs with a club, two blobs with a spade, a large blob nearer the top for a heart, and a smaller blob for a diamond. Such a line might also be adequate to distinguish all the different ranks, depending upon how the figures are drawn.
Perhaps the best bet would be to have three sensors if the cards move vertically through the machine, or five if they move horizontally (three for the rank and two for the suit), and figure that for most deck designs will probably yield 13 different scan patterns for the rank and 4 for the suits). Grab maybe 32 pixels from each sensor if scanning vertically, or 16 if scanning horizontally (so one will have either a 3x32 or 5x16 bitmap). Scan a dozen or so sorted decks and tally up how often each pixel is on or off for each type of card.
Then to read a card, scan it as before. Compute the match score for each rank/suit by adding up, for each "on" pixel, the number of "reference" cards of that rank/suit which had that pixel on, and for each "off" pixel, the number of "reference" cards of that rank/suit which had that pixel off. If the printing on the cards is at all consistent, there will most likely be one rank and one suit whose match score far exceeds that of any other. That's your card.
No particularly fancy processing should be required. An ARM should be able to handle this task "hand"ily, but even something like an 18Fxx by Microchip should be able to "PIC" out cards pretty reliably.