DIY image processing software written in C + + (no external package is called)

Source: Internet
Author: User
Tags image filter

When it comes to image processing software, what do you think? Photoshop? CorelDRAW? The American picture Show? Or is it a acdsee image-editing module?

When it comes to implementing digital image processing algorithms, what do you think? Matlab? OpenCV?

Can you do it by yourself? Write a small image processing software in C + + to implement some image processing algorithms without invoking any external packages? This can have!


Years ago, even when the homepage June still reading, tried to write in VC + + 6.0 in the original version of the Magichouse(a small image processing software). Later when I wrote my first image processing algorithm book, I updated it with VC + + 2005. And then for a long time, it has been pressed to the bottom. I also began to move to Matlab, more lazy is to promote human innovation, one of the two major driving force, who let Matlab so save time and effort. But we have to admit: first of all, Matlab compared to C + +, in the industrial application is actually very limited. Secondly, it hides too much detail, you certainly do not have to worry about memory management, and do not need to encode and decode the image file, but always with the MATLAB has a kind of "import plus assembly" of the cottage sense. Can you come up with a "complete self-reliance"? Using these days ' leisure time, I updated my magichouse software in Visual Studio 2013. (I'm told that Visual Studio is out of 2015,anyway and I think it's no big deal.) The following is a brief introduction to the basic functions provided by the Magichouse software .

First look at the GUI first--


Pure C + +, did not call any external package, the advantage is brick by brick completely self-built, the disadvantage is that I can not guarantee the efficiency of all algorithms are optimal. At present, the software still only supports BMP and JPG two formats (their own coding function of the child paper hurt AH). In browse mode, the program provides a way to include 10 images loaded : down-scan, double-scan, right-side fly-in, two-sided fly-in, vertical blinds, horizontal blinds, vertical grid bars, horizontal grids, grid effects, rain effects. Here are some--

The following is a demonstration of some of the image processing algorithms implemented in the software:

Rotation of geometric transformations of images (bilinear difference algorithm)→


An exponential transformation of the grayscale transformation of images


Mosaic of image Filters →


Image filter Water mist effect (compound direction)→


the image filter Color pen effect


The seed filling algorithm for image analysis →


Fast Fourier transform of orthogonal transformation


Image wavelet decomposition of orthogonal transformation (two-layer) →


Multi-area Contour tracking algorithm



Watershed algorithm of image segmentation →


Advanced Image enhancement processing for the protection of texture reduction algorithm: Nonlinear diffusion filter based on PM equation →


Advanced image enhancement processing to reduce the noise of the texture: TV noise reduction algorithm based on full variation →


Image encryption algorithm based on Hilbert curve image scrambling encryption (central), and cat map based image scrambling encryption (right) →

What you don't see is the effect:)



A hidden image hiding algorithm based on chaotic images fusion →

The left image below is the hidden processing of the secret map ( note In order for the reader to see the hidden image, I deliberately adjust the parameters to show it, in fact, can be completely hidden, so that the image will be identical with the original template image ). The picture on the right is the restored image after decryption.



The expansion of image processing color image based on morphological method →


The above list is only some of the features provided in the software, confined to the space, here is not listed in the future, I will continue to improve the software, to achieve more interesting algorithms.




DIY image processing software written in C + + (no external package is called)

Related Article

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.