G'MIC 2.9.6 with an image that has the artistic Bokeh filter applied.
|Original author(s)||GREYC Lab (Groupe de recherche en informatique, image, automatique et instrumentation de Caen)|
|Initial release||June 18, 2016|
|Operating system||Cross-platform (GNU/Linux, Windows, macOS)|
|Type||Image filtration / editing|
|License||CeCILL (GNU GPL compatible)|
G'MIC (GREYC's Magic for Image Computing) is a free software framework for image processing. It comes with a really long list of filters you can apply to images in order to add effects, turn them into cartoon-like drawings, manipulate colors and so much more. There very little it can't do, if you need a image processing filter then you'll likely find that G'MIC has it. G'MIC can be used stand-alone with a basic Qt interface or as a plug-in in image editing software such as Krita and the GNU Image Manipulation Program. There is also a command-line tool for wizards and advanced users.
Features And Usability
The G'MIC package comes with three binaries:
gmic, which is just a command-line tool for advanced users, and the graphical G'MIC front-ends
gmic_qt is a Qt front-end for working on and applying effects to single images. It is a fairly simple program with a very long list of divided into categories, a preview of the image you are working on and advanced options for the filter you have selected. You can not choose multiple filters or apply a chain of filters,
gmic_qt limits you to one at a time. You can, of course, select the options you want for one filter and it and select another filter and that, you just can't choose multiple filters at once and apply them in one swift move.
gmic_qt is overall a decent program if you want to quickly apply one or two filters to an image.
gmic_qt will give you a file dialog box where you can open an image if you just start it without an image as an argument. There is no way to open another image from within the program, and the only way to save files is to click . You will have to quit
gmic_qt and re-start it if you want to open another image. This is kind of stupid if you look at
gmic_qt as an isolated program in it's own right. There is a good reason for it:
gmic_qt isn't really meant to be used as a stand-alone program, it is meant to be used as a plug-in for more fully featured photo editors like Krita and the GNU Image Manipulation Program. GIMP has it available in ▸ . It is integrated in such a way that if you click in
gmic_qt you immediately get the filter you have selected applied to the image you are working on in GIMP.
The GIMP integration works really well,
gmic_qt can be a great addition to GIMP and similar photo manipulation programs once you have a basic idea what some of the many filters G'MIC has available actually do. More on that later (see The Filters below).
ZArt is a slightly more advanced program. It isn't primarily made for images, though it can be used to process still images. ZArt lets you apply one or more of the many effects G'MIC has available to webcam streams, or video files, in real time. The interface seems to be made with plug-in use in mind since there is no apparent ways to open or save images or video files.
gmic program that comes with the G'MIC package is a not-so-simple command line tool that lets you do everything the graphical
qmic_qt interface does and a lot more if you know what you are doing. It is a pointless and useless program you should avoid if you don't. There is a steep learning-curve you need to climb in order to get anything out of it. You can try to read the extremely long manual page, and you will likely become a G'MIC wizard if you do - just be warned that the manual page is about 752K raw text. It is very long. You can also type
gmic -help and have it spit out pages upon pages upon pages of "helpful" text for five minutes.
The absolute basics of using
- Optionally, specify an input file as the first argument
- Specify one or lots of filters and options in the middle
- Optionally, add
output output-image.jpgat the end
G'MIC opens the resulting image in a window if you do not tell it that the
output should be a file (or something else).
gmic image.jpg -resize 60%,60% output downscaled-image.jpg
image.jpg, downscales it to 60% of its original size and saves it as
You do not have to specify any input image file, or output image file. You can simply run the following strait-forward and totally understandable command and have G'MIC produce the image shown above in a window using nothing but the command-line arguments:
gmic 128,128,1,3,"u(0,255)" plasma 10,3 blur 4 sharpen 10000 n 0,255 elevation3d[-1] "'X=(x-64)/6;Y=(y-64)/6;100*exp(-(X^2+Y^2)/30)*abs(cos(X)*sin(Y))'"
This very fine command is from the really long G'MIC manual page. We do not know how or why that works, we are not G'MIC scientists.
G'MIC doesn't just have one or two or ten filters you can use to manipulate images; there are, as of version 2.9.6, 565 different filters available in a long list of categories such as, , , , , and many more.
The massive avalanche of filters you're overrun with when you first try G'MIC may be a bit discouraging. There will be a bit of a learning-curve before you have any idea what just a fraction of the filters do. You can just try them one by one - if you have lots of time. There are, as we mentioned, 500+ filters available in the current version.
Developers who want to fully integrate G'MIC, and not just launch it as a plug-in, can do that with a C++ library called
The G'MIC homepage is at https://gmic.eu/. It has a /gallery/ section you can use to see what the various filters look like, a scripting tutorial for wizards and much, much more. A deep-dive into the resources on that site may be worth it if you are a professional who works on images for a living or a hobbyist with a whole lot of time on your hands. There's some thorough documentation in some of the sub-sections on that site.
The G'MIC developers seem to favor Twitter. News and updates are mostly shared there @gmic_eu, not on their website.