Code Monkey home page Code Monkey logo

googleimagenavigator's Introduction

What is this?

Just a fun CLI that lets you query for something, then re-adjust your queries to Google images afterwards, ever so slightly nudging you in the direction you want to go.

Querying for very extreme words seem to have the biggest effect, and change your movement-vector the most.

An example would be querying for "Nintendo 64", then later querying for "Zelda". This would after a few nudges show you Zelda themed Nintendo 64s, or Zelda on the N64.

Another thing we can do, is remove the query-parameter altogether, which lets us move through the image-space of Google's similar images, based on the directions the related images point us. An example of this is shown below.

How does Google Similar Images work?

Seemingly, they rely on various filters (or directions towards other images in the space parhaps) to take you in a given direction from your current image. These are represented by the 8 images show to you (where the "View more"-button is) when you highlight an image. The direction you are taken in, is then constrained by the query-word you have given, so you won't stray into something completely off-topic. This query-parameter can't really be modified mid-search unless you re-forge the query-url manually with respect to the query, and rimg-tag.

Examples

By removing the constraint of the query-parameter, we sometimes get to apply filters or directions to our selection which doesn't match to where Google think it's taking us.

step1

Here we're ready to step into curly red haired girls by pressing the "View more"-button.

step2

Instead we end up seeing completely different images from what Google told us it would show, and we seem to have stepped into "curly hair"-space, where there are more asian girls for some reason.

step3

Why did I make this?

One of my hunches is that this could theoretically be used to bypass some of the content gating Google does of illegal images. However it seems like in practice, this is exceedingly difficult to do, since you are moving manually through an N-dimensional space. But it does seem like some of the ordinary blocking of content is disregarded.

I reported this to Google, and they told me it wasn't eligable for any bug program. I'm not sure if it was just too difficult to reproduce, or if they simply know this is un-exploitable. :) But this tool was a lot of fun to just surf around with anyways, so I thought i'd share it.

Usage

PS: only tested with python3

Install dependencies with pip install -r requirements.txt

Run python main.py

Commands

Input a query whenever you're prompted, or type "k" to keep a previous query.

To select a specific image to choose as your direction, input it's position from left -> right, and downwards. (ex: row 3 image 4, if there are 8 pictures on each row, means 2*8+4=20)

Or you may input "r" to get a random direction, or selected image to move towards.

By inputting an empty query (can't happen on the first call), you will move towards the filters or direction in an unconstrained matter.

googleimagenavigator's People

Contributors

negation avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

marearts

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.