Cyber security

Photo Location Finder: Using Google Cloud Vision API to Detect Landmarks and Labels in Images

This is a Python code to detect landmarks, labels and web entities in a set of images using Google Cloud Vision API. The code takes a JSON configuration file that contains the API key and credentials file path for the Google Cloud Vision API, as well as other optional parameters, such as the directory for image files.

The code processes each image file and extracts landmark, label, and web entity information from it using the aforementioned API. The results are stored in a JSON file in the following structure:

Prerequisites

Before running the program, the user needs to have:

  • A valid Google Cloud API key
  • Google Cloud credentials file
  • A Directory with Images for landmark detection
  • All required libraries and packages

Installation

  1. To clone the repository onto your local machine, open a terminal or command prompt and enter the following command:

git clone https://github.com/PierrunoYT/photo-location-finder

Alternatively, you can download the zip file from GitHub by clicking on the green “Code” button and selecting “Download ZIP”.

  1. To ensure that you have Python 3.7 or later installed on your local machine, enter the following command in your terminal or command prompt:

python --version

If you don’t have Python 3.7 or later installed, you can download it from the official Python website.

  1. Next, navigate to the root directory of the project where the requirements.txt file is located, and run the following command to install all the required packages:

pip install -r requirements.txt

  1. Obtain API keys for Google Cloud Vision API and Google Maps API by following the documentation provided by each respective API.
  2. Set up the authentication credentials for Google Cloud Vision API by creating a service account and storing the private key JSON file in a secure location. Follow the instructions provided in the Google Cloud Vision Official Documentation

Open the config.json and replace the YOUR_API_KEY_HERE placeholder with your actual Google Maps API key, and the PATH_TO_YOUR_CREDENTIALS_FILE placeholder with the path to the private key JSON file you created earlier. Update other parameters in the configuration file if necessary.

  1. Store the images you want to analyze in the directory mentioned in the image_dir parameter specified in the config.json file.
  2. To run the script, navigate to the root directory of the project in your terminal or command prompt, and type in the following command:

python main.py

The detection process will start, and you will see output in the terminal or command prompt indicating the status of each image being processed. When the process is complete, you will find a result.json file in the current working directory containing the results of the object detection.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

garak, LLM Vulnerability Scanner : The Comprehensive Tool For Assessing Language Model Security

garak checks if an LLM can be made to fail in a way we don't…

2 days ago

Vermilion : Mastering Linux Post-Exploitation For Red Team Success

Vermilion is a simple and lightweight CLI tool designed for rapid collection, and optional exfiltration…

2 days ago

AD-CS-Forest-Exploiter : Mastering Security Through PowerShell For AD CS Misconfiguration

ADCFFS is a PowerShell script that can be used to exploit the AD CS container…

2 days ago

Usage Of Tartufo – A Comprehensive Guide To Securing Your Git Repositories

Tartufo will, by default, scan the entire history of a git repository for any text…

2 days ago

Loco : A Rails-Inspired Framework For Rust Developers

Loco is strongly inspired by Rails. If you know Rails and Rust, you'll feel at…

3 days ago

Monolith : The Ultimate Tool For Storing Entire Web Pages As Single HTML Files

A data hoarder’s dream come true: bundle any web page into a single HTML file.…

3 days ago