GithubHelp home page GithubHelp logo

gbene / ppu Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 72.65 MB

Python Photogrammetric Utilities

License: MIT License

C 0.91% CSS 3.02% TeX 0.07% JavaScript 0.71% GLSL 0.01% Python 54.30% C++ 0.46% Tcl 40.51%

ppu's Introduction

Python Photogrammetric Utilities

PPU is a collection of python scripts that can help in the photogrammetric process. It contains a series of scripts that can be used directly with Agisoft Metashape and a python executable that can help in the process of converting images from raw to other formats, creating csv files that can be used to scale the object based on calculated camera position, masking and exif data copying. The executable for now is completely standalone only on Windows machines. In this way it can be used even if the machine doesn't have Python insalled. The PPU executable is in PPU-main>PPU>PPU_v1 folder. If you want to use the program on linux and Mac machines you need to have installed python 3.7. You can retrieve the source files in the PPU>source folder. All the packages needed are inside the requirements.txt file and you can install them globally or on a venv with

pip install -r /dir/of/requirements.txt

PPU executable

The executable helps with easly queue and batch process folders of images that normally are created during the process of constructing a model. It is composed by a main menu in which the user can import the main working directory and select or navigate the folders present inside the former. Once the desired folders are selected, there are several scripts to choose depending on the process that needs to be done.

False geodata

This script calculates the position in cartesian coordinates of the cameras given the distance from the center of rotation and the camera lens, the pitch the camera and, if present, the added focal distance given from macro rings. The output will be written in a csv file with the right format so that it can be imported in Metashape to scale and orient the reconstructed object.

Raw conversion

This script converts raw images to the desired image format using the rawpy package. As a result it will create a folder with the output files and the files, if possibile, will preserve the original exif data

Mask

This scripts (still very much a WIP) aims to mask automatically an object from the background. The user needs to write the input images that need to be masked, the output masked image and the threshold value. Then the user can choose to save the mask or apply the mask to the image or both. The output files will be saved in the newly created output folder.

Exif copy

This script copies the exif data from a series of source images to a series of target images. It is necessary that source and target images are in the same folder and that the number of source and target images are the same.

Metashape scripts

These scripts can to be used in the Agisoft Metashape console.

obj_center.py

This script calculates the center of geometry coordinates of any meshed model present in an active chunk and creates a marker called center positioned at the determined coordinates.

quality_check.py

This script runs the quality check for the imported photos in the active chunk and disables the ones that have a value below the one defined by the user.

ppu's People

Contributors

gbene avatar

Watchers

 avatar  avatar

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.