Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the types and characteristics of image processing libraries

2025-02-23 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/01 Report--

The content of this article mainly focuses on the types of image processing library and what are its advantages and disadvantages. The content of the article is clear and clear. It is very suitable for beginners to learn and is worth reading. Interested friends can follow the editor to read together. I hope you can get something through this article!

When we need to do some study and research on image processing, the first task is to select a set of appropriate image processing library. The following is a brief introduction of some advantages and disadvantages of each image library. OpenCV,Intel IPP,Halcon,MATLAB, OpenGL,EmguCv,AForge.net,CxImage,FreeImage,paintlib,AGG,IPL,visDSK .

1. OpenCV

Introduction: the full name of OpenCV is Open Source Computer Vision Library. Is the Intel ®open source computer visual library. It consists of a series of C functions and a small number of C++ classes, and implements many general algorithms in image processing and computer vision. OpenCV is a cross-platform computer visual library based on (open source) distribution that can run on Linux, Windows and Mac OS operating systems. It is lightweight and efficient-it consists of a series of C functions and some C++ classes, provides interfaces to Python, Ruby, MATLAB and other languages, and implements many general algorithms in image processing and computer vision. OpenCV is written in C++ language, and its main interface is C++ language, but it still retains a large number of C language interfaces.

OpenCV function

Provide functional interfaces for image data operation, image / video input and output, basic image processing, structure analysis, camera calibration, motion analysis, target recognition and basic GUI.

OpenCV module

Cv-Core function Library; cvaux-Auxiliary function Library; cxcore-data structure and Linear Algebra Library; highgui-GUI function Library; ml-Machine Learning function Library

Features:

Free, open source code, is a cross-platform middle and high-level API composition, it does not rely on other external libraries, although some external libraries can also be used. The declaration of IplImage and other structural variables is copied to be completely independent of IPL (INTEL's image processing library) OpenCV.

OpenCV provides a transparent user interface for Intel ®Integrated PerformancePrimitives (IPP). It does not have any dependence on IPP. But if IPP is installed, OpenCV will increase speed by automatically loading the IPP dynamic link library to gain the advantage of IPP.

2. Intel IPP

Introduction: IPP "Intel Integrated Performance Primitives" (Intel IPP) is a set of cross-platform software function libraries

He provides a wide range of multimedia functions: audio decoders (e.g. H263, MPEG-4), image processing (JPEG), signal processing, voice compression (e.g. G723, GSM, AMR) and encryption mechanisms.

Intel IPP is optimized for a large number of Intel Microprocessor (microprocessors): Intel Pentium 4 processors, Intel Pentium M processor components using Intel Centrino mobile computing technology, Intel Itanium 2 processors, Intel Xeon processors and Intel PCA application processors using Intel XScale technology. Using a set of general API with cross-platform structure, users not only do not need to worry about platform compatibility, but also save development costs and research and development time, and users can easily transplant original applications.

Features:

The source code of IPP fee is not disclosed.

Function library: signal processing, image processing, multimedia, vector processing, etc.

General API across platforms and OS

High-performance code, no need to write assembly code, get optimized application, high speed and high efficiency.

3. Halcon

Introduction: the image processing software HALCON of MVtec Company in Germany is recognized as the best machine vision software in the world. It originates from academia and is different from some commercial software packages on the market. In fact, this is a set of image processing libraries, made up of more than a thousand independent functions and the underlying data management core. It includes all kinds of filtering, color analysis, geometry, mathematical transformation, morphological calculation and analysis, correction, classification, identification, shape search and other basic geometry and image computing functions. Because most of these functions are not designed for specific work, as long as the image processing is used, the powerful computing and analysis capabilities of HALCON can be used to complete the work. The scope of application is almost unlimited, covering all kinds of automatic detection in medicine, remote sensing detection, monitoring and industry. In recent years, due to the development of machine vision technology, this characteristic of "replacing the human eye", not fatigue to repetitive work, high precision and stability, has promoted the development of the high-tech industry, such as the substantial increase in the output of the electronics industry. MVTec continues to cooperate with academia and incorporate the latest academic research results into it, which not only makes its technology in the leading position in the industry, but also pushes machine vision technology to a higher level.

Machine vision software HALCON is widely used all over the world, and users can use its open structure to quickly develop image processing and machine vision applications.

A professional image processing tool contains more than one image processing function library. The solution of image processing task is only part of the whole machine vision solution, including software parts such as processing controls and or database connections, and hardware parts such as image acquisition and lighting. Therefore, it is very important that the image processing system is easy to use and can be embedded in the development project. Taking these aspects into full consideration, Halcon has the following characteristics:

1)。 HALCON contains a set of interactive programming interface HDevelop, in which the program can be written, modified and executed directly with HALCON program code, and all variables in the calculation process can be viewed. After the design is completed, you can directly output C / C programming or COM (visual basic) program code and embed it into the application program.

2)。 HALCON does not restrict image acquisition devices, and you can choose the appropriate equipment on your own. The original factory has provided more than 40 kinds of camera drivers, even for cameras that have not yet been supported, in addition to easily capture images through the pointer (pointer), you can also use the open architecture of HALOCN to write your own DLL files and system connections.

3)。 The use of HALCON has the best investment benefit. This software supports not only Microsoft's NT/XP/2000, but also Linux, Solaris7, 181X6. 5, "1'ru64 UN1X5. 1, etc., when you need to develop a system, you can easily change the operating platform to meet the requirements. In order to speed up, you can also use multiprocessor computers, and the programs written do not need to be changed.

4)。 Using HALOCN, there are no special restrictions on the design of man-machine interface, and there is no need for special visual components, you can completely use the program language in the development environment, such as Mircosoft Visual Studio, etc., build your own interface, end-users can not see the development tools, and on the machine that executes the software, you only need very few resources.

4. MATLAB

Introduction: MATLAB is a commercial mathematics software produced by MathWorks Company in the United States. it is an advanced technical computing language and interactive environment for algorithm development, data visualization, data analysis and numerical calculation, mainly including MATLAB and Simulink.

MATLAB can perform matrix operations, draw functions and data, implement algorithms, create user interfaces, and connect programs in other programming languages. It is mainly used in engineering calculation, control design, signal processing and communication, image processing, signal detection, financial modeling design and analysis and other fields.

The basic data unit of MATLAB is matrix, and its instruction expression is very similar to the form commonly used in mathematics and engineering, so it is much simpler to solve problems with MATLAB than to accomplish the same thing with Corey FORTRAN and other languages, and MATLAB also absorbs the advantages of software such as Maple, making MATLAB a powerful mathematical software. The new version also adds support for Cpene FORTRAN Category recording Java.

Features:

1)。 Efficient numerical and symbolic calculation functions can free users from complicated mathematical operations and analysis.

2)。 It has complete graphics processing function to realize the visualization of calculation results and programming.

3)。 The friendly user interface and naturalized language close to mathematical expressions make it easy for scholars to learn and master.

4)。 The functional application toolbox (such as signal processing toolbox, communication toolbox, etc.) provides users with a large number of convenient and practical processing tools.

The function is very powerful, and the legitimate software is expensive, so it is suitable for academic research, simulation and demonstration. There are some limitations in software development and engineering applications.

5. OpenGL

OpenGL (fully written Open Graphics Library) refers to a professional graphical program interface that defines a cross-programming language and cross-platform programming interface specification. It is used for three-dimensional images (two-dimensional can also), is a powerful, easy to use the underlying graphics library.

OpenGL is the most widely accepted 2D/3D graphics API in the industry. Since its birth, it has given birth to thousands of excellent applications on various computer platforms and devices. OpenGL ™is independent of Windows or other operating systems and is network transparent. In industries including CAD, content creation, energy, entertainment, game development, manufacturing, pharmaceuticals and virtual reality, OpenGL ™helps programmers develop high-performance, visually expressive graphics processing software for PC, workstations, supercomputers and other hardware devices.

Features:

1)。 Closely integrated with C language.

OpenGL commands are first described in C language functions. For people who have learned C language, OpenGL is easy to understand and learn. If you have ever come into contact with TC's graphics.h, you will find that drawing with OpenGL is even easier than TC.

2)。 Strong portability.

Microsoft's Direct3D is also an excellent graphical API, but it is only used on Windows systems (and now a XBOX game console is added). OpenGL is not only used in Windows, but also can be used in Unix/Linux and other systems. It is even used in mainframe computers and various professional computers (such as medical display devices). Moreover, the basic commands of OpenGL are hardware-independent, even platform-independent.

3)。 High-performance graphics rendering.

OpenGL is an industrial standard, and its technology keeps abreast of the times. Nowadays, all graphics card manufacturers provide strong support to OpenGL. In the fierce competition, the performance of OpenGL has been leading.

In short, OpenGL is a very NB graphics software interface. As for how much NB there is, just check out professional games such as DOOM3 and QUAKE4.

6. EmguCv

EmguCV is the encapsulation of OpenCV image processing library under. Net platform. This is the. Net version of OpenCV. It runs in .NET-compatible programming languages to call OpenCV functions, such as C #, VB, VC++, IronPython and so on. This wrapper library can be compiled under Mono and run on Linux / Mac OSX. EmguCV is written entirely in C # and can be compiled in a Mono environment and run on any platform supported by Mono (such as Linux, Solaris,MacOSX). Other advantages of EmguCV include support for common color and depth image classes, automatic garbage collection, XML serializable images, XML documents and Intel license support, free choice of image classes or OpenCV direct invoke functions, general operations on image pixels, etc. In other words, EmguCV not only inherits all the functions and features of OpenCV, but also has a greater breakthrough in cross-platform support.

Most of the functions of OpenCv are packaged as. Net classes, structures, or enumerations. However, the documentation is incomplete, so you still have to read it against the documents of OpenCv.

7. AForge.net

AForge.NET is designed for developers and researchers based on the C # framework, including computer vision and artificial intelligence, image processing, neural networks, genetic algorithms, machine learning, robotics and other fields.

This framework consists of a series of class libraries and examples. The features included are:

AForge.Imaging-some everyday image processing and filters

AForge.Vision-computer Vision Application Class Library

AForge.Neuro-Neural Network Computing Library

AForge.Genetic-Evolutionary algorithm programming Library

AForge.MachineLearning-Machine Learning Class Library

AForge.Robotics-provides some tool libraries for machine learning

AForge.Video-A series of video processing class libraries (very convenient)

Pure. Net class library, simple interface, easy to use.

8. CxImage

CxImage class library is an excellent image manipulation class library. It can quickly access, display and convert all kinds of images. Some readers may say that there are so many excellent graphics libraries, such as OpenIL,FreeImage,PaintLib, that they are powerful and complete, and there is no need to use other libraries. But I would say that these libraries are basically not free, and using these libraries, you have to be bound by license agreements of one kind or another. At this point, the CxImage class library is completely free. In addition, you will encounter a lot of trouble when using the above class libraries. Because most of them are platform-independent and written in C, some are mixed with basic C++ wrapper and piles of compilation option declarations that you need to deal with. The CxImage class library does a good job in this respect. The author completely made the source code public. Compared with those packaged graphics libraries and GDI+, this allows us to further learn a variety of codec techniques, instead of floating on the surface of various technologies.

9. FreeImage

FreeImage is a free, open source, cross-platform (Windows, Linux and Mac OS X) image processing library that supports more than 20 image types (such as BMP, JPEG, GIF, PNG, TIFF, etc.). Its biggest advantage is the use of plug-in-driven architecture, which is fast, flexible, easy to use, and has been widely used.

The main functions of FreeImage are multi-format bitmap reading and writing; convenient bitmap information acquisition; bitmap depth conversion; bitmap page access; basic geometric transformation and point processing; channel merging and mixing. FreeImage does not support vector graphics and advanced image processing for the time being. Bitmap drawing needs to be done by users.

All functions in FreeImage start with FreeImage_, for example, the read and write functions of image files are FreeImage_Load and FreeImage_Save, respectively. FIBITMAP data structure, which stores bitmap information and pixel data, is the core of FreeImage.

10. Paintlib

Paintlib is a portable C++ class library for image loading, saving and processing. Images can be loaded from BMP, GIF, JPEG, PCX, PGM, PICT, PNG, PSD, TGA, TIFF and WMF files and can be saved in BMP, JPEG, PNG and TIFF formats. Image processing can be performed either by performing filtering in the filter class or by directly accessing the bitmap. Provides a complete C++ source code.

11. AGG

AGG, full name: Anti-Grain Geometry, is an open source and efficient 2D graphics library

AGG is an efficient, high-quality, open source vector graphics library, similar to: GTK+ 's Cairo,Microsoft GDI+. Of the three, AGG has the highest performance (not talking about Skia and Direct2D, they have hardware acceleration of OGL and DX, and drawing speed is not the same level at all).

Features:

The function of AGG is very similar to that of GDI+, but it provides a more flexible programming interface than GDI+, the quality of the graphics it produces is also very high, and it is cross-platform, and it is advertised to run on many operating systems.

The function of AGG

1)。 Support ALPHA, GAMMA and other discoloration processing, as well as user-defined discoloration processing

2)。 Support for any 2D graphics transformation

3)。 Support SVG and PostScript description, suitable for online graphics generation

4)。 Support high-quality graphics processing, support anti-aliasing interpolation and other advanced functions

5)。 Support any way of discoloration.

6)。 All color formats are supported

7)。 Support multiple processing of bitmaps

8)。 Supports multiple processing of straight lines, similar to GDI+

9)。 Support GPC, that is, a general polygon clipping method

10)。 Support a variety of font output, including Chinese character processing

High efficiency, high quality (anti-aliasing), powerful, cross-platform and platform GUI support, disadvantages: no hardware acceleration, less documentation, slightly higher threshold.

12. IPL

Although Intel's IPL image library is not open source, it is very useful for ordinary image processing, such as Laplace operator, Sobel operator and other edge extraction and sharpening functions. If the target platform is PC or industrial control computer and Intel CPU, this is a very good choice.

There is no IPL anymore. IPL is already part of IPP, but earlier versions can still be downloaded. Educational version of IPP 50 $, not very expensive, integrated most of the algorithms 1D signal processing, speech signal processing; 2D signal prodessing, image processing, video processing. The pattern of Open CV will be very similar to that of IPL.

Features:

IPL image processing library, free, at first open source, later not open source.

13. VisDSK

MICROSOFT image processing library, free, open source. OpenCV was very popular when it didn't appear, but now visDSK can do anything OpenCV can do, and OpenCV has optimization support from Intel in terms of speed. The era of visDSK is over.

Thank you for your reading. I believe you have a certain understanding of the "types of image processing libraries and their advantages and disadvantages". Go ahead and practice it. if you want to know more about it, you can follow the website! The editor will continue to bring you better articles!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report