7

I have thousands of meme images. Unfortunately, unorganized. Whenever I could need a specific image, it’s nearly impossible to locate it. Now I want to organize my collection by manually adding metadata for each image.

I want a single tool that focuses on

  • searching for indexed images, and
  • editing the metadata of an image.

I know that many image editors offer both of these features, but then it’s often only a secondary feature, e.g., "hidden" in a sub-menu or something like that. The tool I’m looking for should, at best, let me search for images directly after starting it.

Formal requirements

  • The tool MUST be Free/Libre Open Source Software.
  • The tool MUST run natively on GNU/Linux (whether as a desktop client, or as a web-application).

  • The tool SHOULD support these image formats: PNG, JPG, GIF (animated).

    • It MUST support at least one of these formats.

Metadata

  • The tool MUST NOT save the metadata in the image’s file name.
  • The tool MAY save the metadata in the image.
    • If that’s the case, then the tool MUST use a standardized metadata format (e.g., XMP).
  • MUST: I need several fields (like "Language", "Visible text", "Category", "Keywords"). The tool should either allow me to define name-value pairs separately for each image, or I define the names globally and only fill in the values for each image.

Search

  • MUST: A simple full text search, which always searches over all fields, is not enough.
  • It SHOULD allow me to search in selected fields only.
  • It SHOULD offer boolean search operators (like AND, OR, NOT) and phrase search ("").

It would be really great (but not required) if the tool came with some kind of browser for drill-down or faceted navigation, so that you can find images by clicking instead of having to know&type the search terms. For example, it could use the "Keywords" field and separate its values on commas, and then use them as "tags".

4
  • Your 'must be in the metadata' requirement makes your search difficult. Can I suggest two different approaches in case no suitable candidate turns up? -> 1) Add files with a structured data format (like XML) next to the image files; these are searchable and maintainable, and there are likely tools for that available. 2) Use some sort of tagging software; downside is it will keep the tags in a separte (monolithic) structure. – user416 Feb 12 '14 at 10:04
  • 1
    @JanDoggen: Which metadata requirement do you mean exactly? -- If I understand solutions 1) and 2) correctly, they both seem to be valid answers according to my requirements. – unor Feb 12 '14 at 13:22
  • @unor Sorry, misread you requirement, it says 'may'. You're still left with the difficulty that XMP is not supported in/for all formats. but maybe that's not neccasry for you. – user416 Feb 12 '14 at 14:28
  • @JanDoggen: If the tool writes the metadata directly into the files (instead of using a database etc.), I want it to use a "known" format, i.e. a format that other tools would (principally) be able to read, so that I’m not vendor locked-in. – unor Feb 12 '14 at 14:58
3

In researching the same thing for the same reason on the same system I've discovered:

  1. Shotwell: https://wiki.gnome.org/Apps/Shotwell
  2. jExifToolGUI: https://hvdwolf.github.io/jExifToolGUI
  3. Dolphin file manager: https://apps.kde.org/dolphin
  4. Digikam: https://www.digikam.org
  5. Geeqie, mentioned here

After installing exiftool sudo apt-get install -y exiftool I can check any image's saved tags via exiftool <ImageName.jpg>. I am working on Ubuntu 20.04 and did the below tests with a fresh PNG I created in GIMP. There doesn't seem to be a good way of creating or editing a "Language" tag so I just post that in the "Comment" tag.

Shotwell supports hierarchical tags, writes tags in multiple places, and writes comments with line breaks separated by periods. It has the nicest navigation, and lets you batch apply tags through dragging-n-dropping them in the sidebar tag list. Sometimes you need to exit the view mode or close the program to save tag changes. It doesn't preview files very well (not in a small preview pane in the corner), particularly not animating animated GIFs. I added Tags and Comments to it and here are some of the exiftool-visible tags it created:

  • Notes: Shotwell comment line 1.Shotwell comment line 2.Shotwell comment line 3: English
  • Label: hierarchy3
  • Subject: hierarchy1, hierarchy2, hierarchy3
  • Tags List: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
  • Last Keyword XMP: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3

Running the same image through jExifToolUI you have many more tag options but it's onerous to load many images, but you can edit multiple images through multi-selecting via Ctrl+click. You see some of the tags from before remain, others are created (the third line of comments was "English", this is how I'd label languages):

  • Last Keyword XMP: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
  • Notes: Shotwell comment line 1.Shotwell comment line 2.English
  • Creator: jExifToolUI creator
  • Description: jExifToolUI description
  • Tags List: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
  • Label: jExifToolUI tag

Dolphin seems to only change comments and tags internally. The exiftool results after changes and closing the program looked the same as above. It has a great preview pane that I wish the other apps used though, including animating animated GIFs.

DigiKam seems to be a popular standard. It has a really cool map feature for coordinate tags. I was able to see but not modify the Creator Tag (under Captions > Rights > Names). Apart from this hiccup I was able to modify or add most everything else:

  • Creator: jExifToolUI creator
  • Title: digiKam Title
  • Description: digiKam Caption
  • Subject: Digikam hierarchical tag3
  • Last Keyword XMP: Digikam hierarchical tag1/Digikam hierarchical tag2/Digikam hierarchical tag3
  • Hierarchical Subject: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3
  • Catalog Sets: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3

Geeqie also has a coordinates-based map. I could not find a way of enabling it though. It does allow for writing Geography tags (Country, State, City, and a few others). It added these changes:

  • Caption: digiKam Title
  • Notes: digiKam Caption
  • Categories: <Categories><Category Assigned="0">Digikam hierarchical tag1<Category Assigned="0">Digikam hierarchical tag2<Category Assigned="1">Digikam hierarchical tag3</Category></Category></Category></Categories>
  • Captions Date Time Stamps: 2021-05-29T14:49:22
  • Tags List: Digikam hierarchical tag1/Digikam hierarchical tag2/Digikam hierarchical tag3
  • Subject: Geeqie tag (Keyword)
  • Title: Geeqie Title
  • Creator: jExifToolUI creator
  • Description: Geeqie Comment line 1.Geeqie Comment line 2
  • Last Keyword XMP: Digikam hierarchical tag1/Digikam hierarchical tag2/Digikam hierarchical tag3
  • Hierarchical Subject: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3
  • Catalog Sets: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3

I am still not done my research. Image tagging seems to be a mess right now, with no clear standards and every application partially overlapping things in unexpected ways. I would be interested to find what OP uses now, seven years later.

At the moment I am likely going to use Shotwell because of its clean, well organized interface, and easy hierarchical setup, at least within the program. When you start opening the image files in other tagging programs they sometimes take the Shotwell-generated hierarchical tags and duplicate them in strange ways, such that when you go back to Shotwell the tags in the sidebar are disorganized again. For instance, with the example used in this set I now see this in Shotwell (before it was just Tags > hierarchy1 > hierarchy2 > hierarchy3):

  • ▼ Tags
  • ▼ hierarchy1
  • ▼ hierarchy2
  • hierarchy3
  • ▼ hierarchy1, hierarchy1
  • ▼ hierarchy2, hierarchy1
  • hierarchy2
  • jExifToolUI tag

But this just means I'll stick to just using Shotwell for now. I might learn more about Digikam and possibly move there for richer, more specific tagging beyond just keywords.

In an ideal world I would like to have the current Shotwell setup with clear Author/Artist tags I could edit (I'm able to use the command line exiftool -artist=<Artist Name> FileName1.png FileName2.png FileName3.png and this does show up properly in both Shotwell and the exiftool CLI file details list, but this is laborious). I wish I could edit tags and comments in a sidebar directly without having to right-click the image, and I wish the program had a Dolphin-like preview pane including playing animated GIFs, alongside a GPS-coordinates map as in digiKam or Geeqie. I am now reading https://news.ycombinator.com/item?id=22442144 for more ideas but that seems to be the bottom of the barrel.

I also wish to be able to edit animated GIFs the same way as JPGs/PNGs but due to their format this is very difficult. I may eventually just convert them all to silent MP4s, this seems to be the new standard for them anyway on texting apps and MP4s are much, much smaller. I don't like that this means they'd be treated as a video file but the line between pictures and videos is increasingly blurring anyway.

I am also interested in developing an image tagging system. At present I don't know exactly what to tag, or how. Luckily things like https://thenextweb.com/news/auto-imaging-tech-takes-pain-keyword-tagging-searching are coming out to tag physical subjects better via AI, so I can focus on more specific, personalized tags. This, alongside the above, is a paired process of developing a reliable meme database. I wish there was a one-stop shop for all but I guess that's what all this is, we're basically contributing to making it.

2

While not 100% solution Geegie is a tool which can offer great support in meta-tagging your meme images. Geegie is image viewer for Unix alike operating systems and a fork of old and defunct GQview. Geegie support various image formats including .jpg. png. .gif and is open-source software licensed under GNU general public licence.

Note I don’t have any meme to check it out but tagging and playing with regular images metadata is visible in other photo managment apps (Darktable, Aftershoot Pro) Geegie start screen

This software is able for EXIF, IPTC and XMP metadata browsing and editing. In configuration menu you can chose to write metadata in image file or in a sidecar XMP standard and non-standard. Metadata configuration

Search feature can be easily tweaked to recursively search in base of similarity, size, comment, keyword, date, dimension, etc of item/image and rules of search can be arranged in any way you want (i.e search for image abc with xy keyword of specific dimension with 50% similarity to image abcd). Search Configuration

Geegie does not offer all required fields as per your question ("Language", "Visible text", "Category", "Keywords") but as solution this pattern can be used:

  • Keywords/Tags can be categorized,
  • Comments section can be used for Language field
  • Title section can be used for Visible text field
  • Geegie also offer to sort images in Collections

As an extra feature not requested in question, I would mention an excellent find duplicate tool able to search for high or low similarity, name, checksum, path etc. Considering you have thousand s of meme-images search for duplicates can be really time consuming. Find duplicates in Geegie will reduce this to minutes.

Geegie have a lot of different tools and features so I would suggest to check user manual should you decide to try it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.