Hacker News new | past | comments | ask | show | jobs | submit
The thing I love about OpenCV is that it remains hands down the best library for simply loading images and video. I've never even used any of its fancy computer vision features, but if I need to load a video file and look at the pixels - which I did need to do recently for an art project - OpenCV does it in about four lines of code.
> best library for simply loading images and video

But not for saving video. That fourcc pile of crap doesn't open up in QuickTime player, the default Ubuntu video player, or anything anybody actually uses. I've always had to add a os.system("ffmpeg [ask llm to generate the command for you]") afterwards to fix anything that OpenCV generates.

Done a few projects with OpenCV over the years, and I agree it can be fun.

However, it has a few issues:

1. Patented algorithms that are effectively impossible to license in a commercial setting.

2. Permuted API that change how identically named functions behave over versions.

3. Hardware CUDA version coupling deprecating support every major release.

4. Inconsistent and contradictory documentation in the constant subtle permutations. Downstream projects tend to version lock the lib for really practical reasons.

5. A shift away from core C libraries like ImageMagick & V4l, and into C++ abstractions with legacy Swig wrapper libraries in Java or Python.

6. Perpetual-Beta culture means the library will unlikely ever really fully stabilize.

It is a fun library, until people actually try to deploy something serious. As users will often simply suggest using an old version release if there is a bug.

Everything from Build flags to the API documentation has never fully stabilized. ymmv =3

loading story #48463541
loading story #48463020
loading story #48462311
What are you looking for in the pixels?
loading story #48462743
opencv file loading is crap. it will load images with the wrong gamma, it will give you floating point values that hide the limitation that it pretty much only loads colors in 8 bit, and it will not be able to save to anything useful.