Skip to content

SkylerRankin/cormorant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Cormorant is an image filtering application designed for quickly finding the best subset of a large number of wildlife photos. In addition to being small and lightweight, Cormorant aims to make searching through images as efficient as possible without handing that work to an automated system.

Features

Automated image grouping: Images are placed into groups, which are generated based on user-configurable parameters. For example, setting the time parameter to 10 seconds will create groups where all images within the group were taken within 10 seconds of the next and previous image.

Image compare: Images within a group can be compared side by side, with pan and zoom operations happening together or independently. When an image is marked as skipped, the next available image is loaded in its place at the same zoom/pan position.

Key bindings: All repetitive UI buttons have a corresponding key binding. This means your hands do not need to move between a trackpad/mouse and the keyboard when quickly flipping through images.

Screenshots

Downloads

See Releases to download pre-built binaries.

Building from source

Cormorant uses CMake and requires a compiler supporting C++ 20 (tested on MSVC 19.34 and Clang 18.1.3). The files are split between a src directory for source code, and a lib directory for dependencies, which either have their source copied into this repository or are fetched from their active git repository.

Additional dependencies may be needed to build GLFW on Linux. See Installing dependencies for specifics.

git clone [email protected]:SkylerRankin/cormorant.git
mkdir cormorant/build
cd cormorant/build
cmake ..
cmake --build .

The following libraries are used:

  • Dear ImGui: For UI widgets.
  • FreeType: For better text rendering in Dear ImGui.
  • GLAD: For OpenGL function bindings.
  • GLFW: For handling windows, input, and the OpenGL context.
  • glm: For vector and matrix math operations.
  • stb_image: For decoding and resizing JPGs.
  • TinyEXIF: For parsing EXIF metadata from images.
  • TinyFileDialogs: For opening a native directory picker.
  • TinyXML-2: For parsing EXIF metadata that contains XML.
  • whereami: For finding the executable directory across platforms.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published