Overview of the four major image libraries opencv/freeimage/cimg/cximage

Source: Internet
Author: User
Tags lapack scale image

Conversion from: http://blog.sina.com.cn/s/blog_65e27be30100ido4.html (not original)

 

1. my impression on opencv: it has very powerful functions and supports advanced image processing technologies. Its system is very complete and Its Operation Manual is very detailed. The manual first gives you the knowledge of computer vision, covers mainstream algorithms in the last 10 years;

Then, the image format and matrix operations are performed, and then the implementation functions of each algorithm are implemented.
I used it to create a Harris corner detector and a Canny edge detector, which took an hour in total (the first time using opencv ).
In addition, this library is extremely convenient for displaying images.
However, this library seems to be not stable, and there are many bugs in support for 32f, 16 S, and 8 U image data.
I used the cvfilter2d function for linear filtering and made frequent errors. Later I checked it as a big bug.
Subsequently, cvmget was used to retrieve matrix elements frequently and encountered errors. After carefully checking for n times, I found the answer on the yahoogroup: Still a bug...
But the library is open, so you can modify it yourself. It also supports CVs. In addition, this library uses the IPL matrix library, which is extremely fast ~~

Http://sourceforge.net/projects/opencvlibrary/

2. impression on cximage: This development kit is fully open-source, and the image is encapsulated into a class with extremely powerful functions and excellent support for Windows and MFC.
Supports multiple image operations (linear filtering, median filtering, histogram operations, rotation and scaling, area selection, threshold processing, expansion and corrosion, Alpha mixing, etc)
Allows you to read images from Bitmap formats defined by files, memory, or WIN32API. You can also display images in any window.
And features are powerful, and pixel operations are very convenient.
In addition, there is a demo with a strong interface that can be directly used for secondary development. We recommend that you use it!

Disadvantages: There are many sub-databases in it, which may be more troublesome to use; and it feels a little slow, not as fast as the freeimage mentioned later
But the function is really powerful!

Http://www.xdp.it/cximage.htm

3. cimg: This is a. h file, so it is very simple to use, but it is not as functional as cximage.
It can be used with cximage because cimg provides LAPACK-based matrix calculation functions and a complete linear filtering convolution function. At the same time, it is very convenient for cimg to perform pixel operations.
In addition, the unique display class can be used to conveniently display various types, including displaying images, typing, and drawing lines. Also, this database provides an optical flow-based multi-scale image registration example, which is good.

Http://cimg.sourceforge.net/

4. freeimage: it is a C language system. It can be ensured by a large number of pointer operations. It contains a variety of advanced interpolation algorithms.
In addition, unique meta EXIF information can be read. The biggest feature of this library is its conciseness. It only focuses on reading and writing images of various formats, but does not display any of them. In actual programming, you still need to call the API function for display.

Http://freeimage.sourceforge.net/

Conversion from: http://blog.sina.com.cn/s/blog_65e27be30100ido4.html (not original)

 

1. my impression on opencv: it has very powerful functions and supports advanced image processing technologies. Its system is very complete and Its Operation Manual is very detailed. The manual first gives you the knowledge of computer vision, covers mainstream algorithms in the last 10 years;

Then, the image format and matrix operations are performed, and then the implementation functions of each algorithm are implemented.
I used it to create a Harris corner detector and a Canny edge detector, which took an hour in total (the first time using opencv ).
In addition, this library is extremely convenient for displaying images.
However, this library seems to be not stable, and there are many bugs in support for 32f, 16 S, and 8 U image data.
I used the cvfilter2d function for linear filtering and made frequent errors. Later I checked it as a big bug.
Subsequently, cvmget was used to retrieve matrix elements frequently and encountered errors. After carefully checking for n times, I found the answer on the yahoogroup: Still a bug...
But the library is open, so you can modify it yourself. It also supports CVs. In addition, this library uses the IPL matrix library, which is extremely fast ~~

Http://sourceforge.net/projects/opencvlibrary/

2. impression on cximage: This development kit is fully open-source, and the image is encapsulated into a class with extremely powerful functions and excellent support for Windows and MFC.
Supports multiple image operations (linear filtering, median filtering, histogram operations, rotation and scaling, area selection, threshold processing, expansion and corrosion, Alpha mixing, etc)
Allows you to read images from Bitmap formats defined by files, memory, or WIN32API. You can also display images in any window.
And features are powerful, and pixel operations are very convenient.
In addition, there is a demo with a strong interface that can be directly used for secondary development. We recommend that you use it!

Disadvantages: There are many sub-databases in it, which may be more troublesome to use; and it feels a little slow, not as fast as the freeimage mentioned later
But the function is really powerful!

Http://www.xdp.it/cximage.htm

3. cimg: This is a. h file, so it is very simple to use, but it is not as functional as cximage.
It can be used with cximage because cimg provides LAPACK-based matrix calculation functions and a complete linear filtering convolution function. At the same time, it is very convenient for cimg to perform pixel operations.
In addition, the unique display class can be used to conveniently display various types, including displaying images, typing, and drawing lines. Also, this database provides an optical flow-based multi-scale image registration example, which is good.

Http://cimg.sourceforge.net/

4. freeimage: it is a C language system. It can be ensured by a large number of pointer operations. It contains a variety of advanced interpolation algorithms.
In addition, unique meta EXIF information can be read. The biggest feature of this library is its conciseness. It only focuses on reading and writing images of various formats, but does not display any of them. In actual programming, you still need to call the API function for display.

Http://freeimage.sourceforge.net/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.