I have a lot of images on a ubuntu server. Is there any process to search images from that server, like google image search does. I have searched a little bit, I think term is "Reverse Image Search". Right now I was trying if I can do this by NodeJS. I got several library Look Same and PixelMatch. As I have about 5k images so I think those will be slower process. I can use those for 10-50 image. Is there any way I can do those using NodeJS or any other service of Ubuntu?
Related
I am working on a project (Something like a shopping website) and I want to upload a product describing its name, price and image. It's pretty simple to add name, price in a database, but not finding a proper way to have all those information along with a product Image as there is no specific way to store image like we store Strings and Numbers etc. I do not want to upload a file locally with a package called multer. I have tried using Grid FS storage, but I do not how to make it keep all three information together as a single package. I am looking for a better way so I could use it when I will make my website live.
You can convert an image to a base64 encoded string. See this question for more information. Also see this npm package.
But be careful! As far as I know MongoDB has a maximum storage size for a document. If you plan to save a couple high-res images in that document you will go better with a file storage.
I need to detect programatically if a website has an e-commerce platform/system
I don't need to know which one, I just need to know if the website has one.
(I have a big list of websites so I probably need to scrape them)
any suggestions on how I could do this without using external websites (like rescan.io/builtwith/etc) would be greatly appreciated!
thank you!
You can use a package called Puppeteer which is used to do web-scraping in node.js.
I don't know what platforms you are trying to look for, but I guess you could try something like giving the list of websites you want to check to a node.js process and ask Puppeteer to scrape them all. Then you look at the content you get back and for example look for Shopify's CDN in the tags or check the tags for keywords.
You will definitely need to check each different platform like Magento or Shopify for unique source code that clearly sets apart the framework you are looking at from other tools.
I'm using GCS to store my user's images in our react-native app. I need a small version of images so I can implement progressive loading. Is there any way to get a resized image from the GCS url or using any other method?
I'd like to avoid having multiple instances of the same image in our storage.
I know you can do something like:
http://lh3.googleusercontent.com/93uhV8K2yHkRuD63KJxlTi7SxjHS8my2emuHmGLZxEmX99_XAjTN3c_2zmKVb3XQ5d8FEkwtgbGjyYpaDQg=s250
with google photos, where the =sXX at the end (xx being any number between 0 and ~2500) is the size that returned image will be.
is it possible to do something similar using GCS?
this is what a url to an image looks like with respect to our app:
https://storage.googleapis.com/appName.appspot.com/1513912717946-Image_1513912675892.jpg
You need App Engine to generate those URLs, and this is only available in the standard environment.
Relevant docs are: Python, Java, PHP, and Go.
The API allows you to generate (and delete) those URLs. The generated URLs support the =sXX parameter. XX is an integer from 0–2560 representing the length, in pixels, of the image's longest side. It also supports cropping the image into a square with =sXX-c.
Elaborating: App Engine is Google's PaaS offering. You can read more about the standard and flexible environments here.
I'm new into Node.js and my intention is to build a web site similar (but way less complex) than Imgur, where uploading images is possible by dragging photos from desktop to the browser.
For this I want to use Node.js and MongoDB.
I have been looking around everywhere and found a lots of tutorials (many of them out dated) for setting up a database, but none for file uploading. Node.js and all it's modules is like a jungle, and it really isn't easy to know which modules to use in which type of context.
So, what I really could use here is some help with suggestions of tutorials and/or modules that may fit for this purpose. What is the easiest and best way to get started with this?
This is a school project that I need to do (I selected Node.js for server side myself, not knowing how complex it really is and now it's to late to change), so I would really appreciate your help here.
Thanks in advance!
You can get away without using most of the node.js modules aside from the mongodb driver. Express is a popular framework for web applications, but it might even be overkill here. Really, you just need to serve some HTML with the drag and drop code, and then be able to receive and serve images. It's probably less than 50 lines of code in actual node.js, plus whatever frontend code you have.
Check out this tutorial for the image upload portion on the node.js side using express:
https://github.com/visionmedia/express/blob/master/examples/multipart/app.js
Here's a tutorial for the frontend drag and drop functionality:
http://www.thebuzzmedia.com/html5-drag-and-drop-and-file-api-tutorial/
Update You might also consider http://mongoosejs.com/, which makes mongodb interaction a bit easier--but the native driver isn't too bad to use by itself.
I want to write a mobile app which takes a picture and searches google images for similar pictures and then displays the results.
However, with google image search I can only search for text strings, and with the search API it seems there's no possibility to search for similar pictures; this feature seems to be available only through the web interface.
Any idea how I can solve this problem?
thanks,
Christoph
There is a way you can do this now, but its not officially supported, and there are probably some restrictions on the number of queries you can perform. Update
http://images.google.com/searchbyimage?hl=en&biw=1060&bih=766&gbv=2&site=search&image_url={{URL To your image}}&sa=X&ei=H6RaTtb5JcTeiALlmPi2CQ&ved=0CDsQ9Q8
There is also a google image search API, which is being officially deprecated, but it will work for now.
http://code.google.com/apis/imagesearch/
The Google Vision API.
https://cloud.google.com/vision/
This is very simple and easy and powerful.
I had done something like that recently for a mobile app, this is the code for it, it uses google search by image feature, and returns the "best guess" or the whole page
you could use that and modify it to do what you want, but once you get the best guess of the image you could search for any image with that title, etc
https://github.com/hbattat/search-by-image
I don't think it's possible. If you click the link to find similar images from the images result page you get a link with the original query included:
google.com/images?q=ORIGINAL_QUERY&imgtype=i_similar&sa=...
If you remove that GET param manually, the search does not work, it only shows the images search form.
I dont think it is possible to find similar images with google if you do not know what's on it.
I was looking for an answer to this some time ago, and found tineye. You have to pay for it, though. Currently (Jan 2012) USD300 for 5K searches, USD1.5K for 30K searches...
SerpAPI enables to search through Google Images and returns a clean JSON.
URL example:
https://serpapi.com/search.json?q=Apple&tbm=isch&ijn=0
Documentation:
https://serpapi.com/images-results
This service is integrated with most of the programming languages: python, php, java, golang, nodejs...
Google limit the number of search per day. but this service provides unlimited searches...