The schematic shows one row of my 16(row)x32(Col) LED matrix. Each row has 32 LEDs. I'm Scanning rows @ 1/16th rate.I'm using a PIC micro controller. I use 3V LEDs. The problem is LEDs are dim.
My guess would be that the Vce(sat) drops of both the ULN2803, the high-side transistor and the voltage drop on the current-limiting resistors could easily add up to roughly 2V or more, not leaving much room for the 3V LEDs with a 5V power supply.
Try using NPNs directly instead of the ULN2803's to give you more headroom, or change your current-limiting resistor to a lower value to account for the lower voltage available.
Another option would be to simply use a higher voltage for the LED drive to give you more room, although you'd likely have to drive the high sides differently (perhaps using some of the leftover ULN's to drive the PNP bases to ground, if you have some left over.)
Edit: You may also want to increase the LED current anyhow to combat the inherent 1/16 duty cycle in your design.