Licenses are usually more about what your rights and responsibilities are with regard to software derived from the licensed software, not whether the source code can be used in a commercial product or not.
It is perfectly possibly to sell a piece of software which uses a GPL library, as long as you are happy for people you have sold it to (who now have the source) to give it away.
Generally speaking though, for commercial software most people will want closed source, and for that you need a library with a permissive (or at least weak copyleft) license rather than a strong copyleft license. That way you don't need to release the source code to your product when you distribute the binaries.
In the license differentiator from OSS Watch that means choosing "I don't want to include licensing conditions on reuse" at Choice 2 (a):
Choice Two (a)
All Free and Open Source licences will allow others to make modified versions of your code, and to make these modified versions available to others. Your licence can make conditions about how this happens - specifically what licences can be used on these modified versions. These conditions can help keep your code free, but they can also put some people off reusing your code.
Alternatively, you could select "I want to include licensing conditions on reuse" at Choice 2 (a) but then select "Weak copyleft" at Choice 2 (b):
Choice Two (b)
This question is only if you chose to include licensing conditions on reuse.
You chose to include specific licensing conditions on reuse.
Sometimes these are called 'copyleft'. Copyleft comes in two basic varieties:
Strong Copyleft: When a software project contains some of your code, the project as a whole must be distributed under your licence, if it is distributed at all. The effect of this will be that the source code to all additions made to the code will be available.
Weak Copyleft: When a software project contains some of your code, the parts of the project you originated must be distributed under your licence, if it is distributed at all. Other parts may be distributed under other licences, even though they form part of a work with is - as a whole - a modified version of your code. The effect of this will be that the source code to some additions made to the code may not be available.
Which form of copyleft do you want?
A BSD licensed library like OpenCV can be pretty much used in any way you like, with some relatively minor restrictions. You can keep your application source code closed source, and distribute binaries without releasing your source code or any modifications you made to the library. That is what permissive means in practice.
Finally, don't assume that just because a project says GPL on it's website, that the copyright holders won't be prepared to license it to you under LGPL or commercial terms.
I once found that I could license a library (a simple comuter vision library) I was considering for $100 a year for unlimited run-time licenses! If I hadn't e-mailed the author directly, I would never have known.