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

What Is a Data Protection Platform and Why Your Organization Needs One

A data protection platform is a unified system that helps organizations discover, classify, monitor, and…

5 days ago

How Swiss Privacy Rules Affect AI Companies Under GDPR

AI companies operating in or around Switzerland face a compliance challenge that most legal teams…

6 days ago

Swiss FADP vs EU GDPR: Key Differences for AI and Data Privacy

Two major data privacy laws now govern how organizations handle personal data across Europe; the…

7 days ago

Kali Linux Commands Cheat Sheet: Complete Quick Reference

This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…

1 month ago

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

1 month ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

2 months ago