Giter VIP home page Giter VIP logo

advancedimagesearch's Introduction

Advanced Image Search for GNU/Linux

Advanced Image Search for GNU/Linux

Enabling content aware image search for GNU/Linux using computer vision


The purpose of this library is to provide command line tools that enable content-aware image browsing from the CLI..

lsimg for example ( which is the first implemented application ) should be able to return images which are larger than a specific resolution , that contain faces , that are similar to another one , that are bright ( histograms ) , that have been taken in a specific Longitude/Latitude ( EXIF ) or the same content as some other image file etc..

You can view implemented functionality by issuing "lsimg --help"

To submit bug or feature tickets you can use the github issue system https://github.com/AmmarkoV/AdvancedImageSearch/issues

Getting the project


To get the project issue

git clone git://github.com/AmmarkoV/AdvancedImageSearch.git
cd AdvancedImageSearch

You can also get the project as a zip file by clicking here https://nodeload.github.com/AmmarkoV/AdvancedImageSearch/zip/master or

wget https://nodeload.github.com/AmmarkoV/AdvancedImageSearch/zip/master
unzip master
cd AdvancedImageSearch-master

Library Dependencies


The program requires libjpeg , libpng , opencv , darknet and gcc to enable all features! It can also operate without problems without darknet and/or opencv but some advanced functionality will not be available. It also requires exif tool for JPG exif functionality that greatly speeds up some operations when just scanning JPEG headers.

To install them issue :

sudo apt-get install cmake build-essential git g++ gcc exif libjpeg-dev libpng12-dev

Libraries that are not available on repositories can be installed using the following instructions. OpenCV should be a version after version 3.0 which went under a very large refactoring and also contain the nonfree/contrib components. This library is not available in repositories and thus has to be downloaded and built from source something that might be tricky for some users. The semantic search features ( which is a really nice feature ) will also require Darknet to be installed in order to be enabled.

Luckily, all of these dependencies can be installed using the script provided in 3dparty/get_third_party_libs.sh which asks you and then downloads, configures and tries to auto-build the dependencies.

In order to run the script and assuming you are on the main directory issuing the command :

3dparty/get_third_party_libs.sh

will download these dependencies and guide you through the procedure, you should also enable the correct CMake switches afterwards. This can be done using console ( cmake -DENABLE_DARKNET=ON -DENABLE_FACEDETECTION=ON -DENABLE_OPENCV=ON -DENABLE_PATTERNRECOGNITION=ON .. ) or a GUI like cmake-gui

How to build


In order to make a local copy of the project go to the Project root directory and simply issue

mkdir build && cd build &&  cmake .. && make

If you wish to make a system persistent installation just issue

mkdir build && cd build &&  cmake .. && sudo make install

Examples


Sample usage of lsimg :

It will move all images smaller than 640x480 to the subdir small!

 mv `lsimg --maxDims 640 480 /home/me/Pictures/Wallpapers/Raw` Small/

It will move all images suitable for wallpaper ( larger than 1680x1050 ) to the wallpaper dir!

 mv `lsimg --minDims 1680 1050 /home/me/Downloads/` /home/me/Pictures/Wallpapers/Raw/

It will move all images suitable for wallpaper that are "red" ( larger than 1680x1050 ) to the red wallpaper dir!

 mv `lsimg --color red --minDims 1680 1050 /home/me/Downloads/` /home/me/Pictures/Wallpapers/Red/

Find all images like ~/me.jpg in ~/Downloads directory

lsimg --like ~/me.jpg ~/Downloads/

Find all images containing the same contents as ~/camel.jpg in ~/Downloads directory

lsimg --semantics ~/camel.jpg 10 ~/Downloads/

Open all the "green" images with gpicview

cd ~/Downloads
lsimg --color green ./ | xargs -n 1 gpicview #

Open all the images with exactly 3 faces with gpicview

./lsimg --minFaces 3 --maxFaces 3 . | xargs -n 1 gpicview 

advancedimagesearch's People

Contributors

ammarkov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.