All Projects → ddowd97 → Python-Image-Morpher

ddowd97 / Python-Image-Morpher

Licence: MIT license
Python Image Morpher (PIM) is a program that blends images to your content!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python-Image-Morpher

AdvancedCsvConnectorBundle
Advanced CSV Connector Bundle for Akeneo
Stars: ✭ 19 (-80.41%)
Mutual labels:  pim
org-contacts2vcard
Converting Emacs Org-mode org-contacts contact information to VCard format suitable for importing to Android 4.4
Stars: ✭ 21 (-78.35%)
Mutual labels:  pim
xnote
个人知识库+工具箱
Stars: ✭ 75 (-22.68%)
Mutual labels:  pim
backend
Ergonode backend repository
Stars: ✭ 100 (+3.09%)
Mutual labels:  pim
pim6sd
PIM for IPv6 sparse mode daemon
Stars: ✭ 15 (-84.54%)
Mutual labels:  pim
offPIM
Decentralized, Offline-first, Personal Information Manager (PIM) using PouchDB/CouchDB. Includes task-, note-, and contact-management, as well as journaling.
Stars: ✭ 63 (-35.05%)
Mutual labels:  pim
frontend
For seeing Ergonode in action please book a demo https://www.ergonode.com/book-a-demo
Stars: ✭ 122 (+25.77%)
Mutual labels:  pim
Pimcore
Open Source Data & Experience Management Platform (PIM, MDM, CDP, DAM, DXP/CMS & Digital Commerce)
Stars: ✭ 2,352 (+2324.74%)
Mutual labels:  pim
Frr
The FRRouting Protocol Suite
Stars: ✭ 2,009 (+1971.13%)
Mutual labels:  pim
guess-filename.py
Derive a file name according to old file name cues and/or PDF file content
Stars: ✭ 27 (-72.16%)
Mutual labels:  pim
freeRouter
freeRouter - networking swiss army knife
Stars: ✭ 26 (-73.2%)
Mutual labels:  pim
PIM NDP papers
No description or website provided.
Stars: ✭ 33 (-65.98%)
Mutual labels:  pim
magento2-pimcore-bridge
Magento 2 module for Pimcore integration.
Stars: ✭ 28 (-71.13%)
Mutual labels:  pim
doublecontact
Offline DE-independent Qt-based contact manager primarily for phonebooks editing/merging. Beta.
Stars: ✭ 40 (-58.76%)
Mutual labels:  pim
notes
我的笔记
Stars: ✭ 21 (-78.35%)
Mutual labels:  pim
pimcore-magento2-bridge
Pimcore module for Magento 2 integration
Stars: ✭ 33 (-65.98%)
Mutual labels:  pim
seamless face replacement
Implemented a pipeline for automatic face replacement in videos (without deep learning). Image morphing, triangulation, TPS, Poisson blending, etc.
Stars: ✭ 30 (-69.07%)
Mutual labels:  image-morphing


Python Image Morpher (PIM) is a program that can take two images and blend them to whatever extent or precision that you like! It is designed to emulate some of Python's OpenCV image processing from scratch without reference.


This project began in Spring 2019 (detailed in readme_general.pdf, readme_phase_1.pdf, and readme_phase_2.pdf), requiring the usage of delaunay triangulation, projective/affine transformation, application of projections through matrices, masking, and alpha blending - all of which are still maintained - in order to accomplish image morphing. Thus, this repository is more of a 'proof of concept' than it is the most efficient way of accomplishing the given task of image morphing.

So far, this program has only been tested on separate Windows environments; if it does not already, later releases are likely to support Mac and Linux.


Installation:

This program has dependencies that do not come packaged with Python 3. To install the required modules, enter the following command using the terminal supplied by Windows or your choice of IDE (such as PyCharm):

pip install -r requirements.txt

Alternatively, for each module below that your machine does not have installed, enter the respective command(s):

PyQt5 - pip install pyqt5

SciPy - pip install scipy

NumPy - pip install numpy

Imageio - pip install imageio

Pynput - pip install pynput

OpenCV (Headless) - pip install opencv-python-headless

Requests - pip install requests

If pip, for whatever reason, is not installed on your machine, enter the following line in a terminal:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

Followed by this line afterwards:

python get-pip.py

Usage:

  • Run MorphingApp.py either through the terminal or using an IDE
  • Use the graphical interface to select the two images you want to morph together
  • Alternate clicking on related points of interest in your images to create correspondences
  • When satisfied, click the blend button to observe the result!

A more detailed Help guide is included within PIM's GUI, if needed.


Proof of Concept - Perspective Shifting

Development 'To-Do' List:

Although I feel that PIM is now feature complete as a project, I will continue to support it with updates as they come to me. This potentially includes, but does not guarantee:

  • Feature: Automatic Correspondence Determination
    • PIM may automatically generate points by scanning for similar features between images
  • Feature: Automatic Update Installation
  • Feature: Configuration Tab in GUI
    • The user can set/reset default parameters for PIMs GUI to use on initialization
  • Enhancement: Undo/Redo Compatibility with Move/Delete Mouse Modes

If you encounter an error, a bug, or if you simply wish to request a change/feature, please file an issue using the tracker that GitHub provides, here.

If you like what you see, feel free to contact me on LinkedIn or check out my website (WIP as time allows).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].