| 
5 | 5 | Python Image Morpher (PIM) is a program that can take two images and blend them to whatever extent or precision that you like!  | 
6 | 6 | It is designed to emulate some of Python's OpenCV image processing from scratch without reference.  | 
7 | 7 | 
 
  | 
 | 8 | +<p align="center">  | 
 | 9 | +  <img src="https://media3.giphy.com/media/ibAOyLgNhxnWHuKvZn/giphy.gif"><br>  | 
 | 10 | +</p>  | 
 | 11 | + | 
8 | 12 | This project began in Spring 2019 (detailed in <b>readme_general.pdf</b>, <b>readme_phase_1.pdf</b>, and <b>readme_phase_2.pdf</b>),  | 
9 | 13 |  requiring the usage of <b>delaunay triangulation</b>, <b>projective/affine transformation</b>, <b>application of projections   | 
10 | 14 |  through matrices</b>, <b>masking,</b> and <b>alpha blending</b> - all of which are still maintained with this project - in order   | 
11 | 15 |  to accomplish image morphing. Thus, this repository is more of a 'proof of concept' than it is the most efficient way of   | 
12 | 16 |  accomplishing the given task of image morphing.   | 
13 |  | -   | 
 | 17 | + | 
14 | 18 |  So far, this program has only been tested on separate Windows environments;   | 
15 | 19 |  if it does not already, later releases are likely to support Mac and Linux.  | 
16 | 20 | 
 
  | 
@@ -46,10 +50,14 @@ python get-pip.py  | 
46 | 50 | - Click on points of interest in your images to create correspondences  | 
47 | 51 | - When satisfied, click on blend and observe the result!  | 
48 | 52 | 
 
  | 
 | 53 | +<p align="center">  | 
 | 54 | +  <img src="https://media3.giphy.com/media/YNEHyQ5TI6NankGbA9/giphy.gif"><br>  | 
 | 55 | +</p>  | 
 | 56 | +<p align="center"><i>Proof of Concept for Perspective Shifting</i><p align="center">  | 
 | 57 | + | 
49 | 58 | ## Development 'To-Do' List:  | 
50 |  | -- :heavy_check_mark: Color Picker Widget (User may specify color used for triangles)  | 
51 | 59 | - Redo / CTRL + Y (User may redo an action that was previously undone or deleted)  | 
52 |  | -- :heavy_check_mark: Full Blend (User may toggle a flag that tells the program to render each specified alpha increment blend and the alpha slider instead displays each frame)  | 
 | 60 | +- Image Zoom (User may click the right mouse button on an image to toggle zoom into it in order to place more accurate points)  | 
53 | 61 | - Improved Performance (Currently, interpolation is the biggest bottleneck, second to the required matrix math)  | 
54 | 62 | 
 
  | 
55 | 63 | 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](https://github.com/ddowd97/Morphing/issues).  | 
 | 
0 commit comments