NEW

hi friends

come to see my hack @ YAHOO HACK U 09

what www.tineye.com provides:

  • TinEye creates a unique and compact digital signature or 'fingerprint'
  • compares this fingerprint to every other image in TinEye index to retrieve matches
  • TinEye does not typically find similar images
  • it finds exact matches including those that have been cropped, edited or resized

the new approach

  • search from web directly
  • no predefined image database
  • find simillar and exactly same images
  • can give statics like extent of matching(eg 10 % matching or 90 % matching)
  • more robust
  • not a biased search.

how i did it

select * from flickr.photos.search where text="tower"

  • get the REST query from YQL

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20flickr.photos.search%20where%20text%3D%22.jpg%22%20%20limit%2010&format=xml

  • pars the REST query to get image url using curl,perl,grep,sed and awk

curl "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20flickr.photos.search%20where%20text%3D%22.jpg%22%20%20%0A&format=xml" 2>/dev/null | perl -pe 's,<,\n<,g' | grep '^<photo' | sed -e 's/[^"]*"\([^"]*\)"/\1 /g' | awk '{printf("http://farm%d.static.flickr.com/%d/%s_%s.jpg\n", $1, $8, $2, $7);}'

  • again pars the table containing URL to wget

for url in $( curl "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20flickr.photos.search%20where%20text%3D%22.jpg%22%20%20%0A&format=xml" 2>/dev/null | perl -pe 's,<,\n<,g' | grep '^<photo' | sed -e 's/[^"]*"\([^"]*\)"/\1 /g' | awk '{printf("http://farm%d.static.flickr.com/%d/%s_%s.jpg\n", $1, $8, $2, $7);}' ); do

wget -o file2.jpg $url

done

  • put in a bash scrip a.sh

#!/bin/bash

echo "...........IMAGE download........"

for url in $( curl "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20flickr.photos.search%20where%20text%3D%22.jpg%22%20%20%0A&format=xml" 2>/dev/null | perl -pe 's,<,\n<,g' | grep '^<photo' | sed -e 's/[^"]*"\([^"]*\)"/\1 /g' | awk '{printf("http://farm%d.static.flickr.com/%d/%s_%s.jpg\n", $1, $8, $2, $7);}' ); do

wget -o file2.jpg $url

done

  • write another bash script to compare images

#!/bin/bash

echo "...........IMAGE SEARCH........"

./compare_image.out # executable file for image comparision

cat head256 joint_histogram.int | display & #shows relative alignment of images

cat head out3.int | display & # the two images displayed

cat head out4.int | display &

loop holes

please figure it out and report me

I am already having some of them.