G'MIC

From LinuxReviews
Jump to navigationJump to search
G'MIC
G'MIC 2.9.6 with an image that has the artistic Bokeh filter applied.
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)
Developer(s)GREYC Lab
Initial releaseJune 18, 2016; 5 years ago (2016-06-18)
Repositorygithub.com/dtschump/gmic
Written inC++
Operating systemCross-platform (GNU/Linux, Windows, macOS)
TypeImage filtration / editing
LicenseCeCILL (GNU GPL compatible)
Gmic qt.svg

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 and zart.

gmic_qt

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 Available filters 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 Apply it and select another filter and Apply 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-chalk-it-up.jpg
gmic_qt working on a picture with the French "Chalk It Up" filter.

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 Apply. 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 Filters ▸ Q'MIC Qt.... It is integrated in such a way that if you click Apply in gmic_qt you immediately get the filter you have selected applied to the image you are working on in GIMP.

Gmic-as-a-gimp-plugin-with-bokeh-applied.jpg
G'MIC as a GIMP plug-in with an image that has the Bokeh filter applied to it.

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

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

The 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 gmic are:

  • 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.jpg at 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).

For example,

gmic image.jpg  -resize 60%,60% output downscaled-image.jpg

takes image.jpg, downscales it to 60% of its original size and saves it as downscaled-image.jpg.

Gmic-command-line.magic.jpg
An image created using pure G'MIC command line magic.

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.

The Filters

Gmic-qt-2.9.6-filter-list.jpg
G'MIC 2.9.6 has 565 filters available.

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 Arrays & Titles, Artistic, Colors, Frames, Repair, Silhouettes 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.

Yuri-with-gmic-filters-applied.jpg
A picture of Kwon Yuri with G'MIC filters applied to it.

The G'MIC home page has a image gallery section where you can see examples of what some of the images look like when they are applied. The gallery is a on-hoover JavaScript function that lets you see what the original image looked like without a G'MIC filter looked like.

libgmic

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 libgmic.

Links

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.


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.