Battery pull is always good. If that fails to resolve the issue there may be solutions to be found by searching. Or someone more knowledgeable than me will have the resolution. Tha question has appeared before so there must be a cure.
You may also wish to post your OS for sometimes that will offer clues.
Posted from my CrackBerry at wapforums.crackberry.com
Slacker and possibly some other apps can cause this. They either use too much memory or somehow interfere with the camera app. Battery pull (while ON) and not running Slacker/other should fix it. Otherwise you might have other issues.