aboutsummaryrefslogtreecommitdiff
path: root/scripts/.local/bin/personal/edge2
diff options
context:
space:
mode:
authordavidpkj <davidpenkow1@gmail.com>2022-12-03 22:26:26 +0100
committerdavidpkj <davidpenkow1@gmail.com>2022-12-03 22:26:26 +0100
commit5d4a749b7c51649bcd3953cd1686856408d08121 (patch)
treed0ddab7d5ee206e9b4403d4f177d942ec1608aa0 /scripts/.local/bin/personal/edge2
parent4f7ccffecdfa36c5e531654b8eec44199935d497 (diff)
Merge in dotfiles
Diffstat (limited to 'scripts/.local/bin/personal/edge2')
-rwxr-xr-xscripts/.local/bin/personal/edge231
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/.local/bin/personal/edge2 b/scripts/.local/bin/personal/edge2
new file mode 100755
index 0000000..376bebb
--- /dev/null
+++ b/scripts/.local/bin/personal/edge2
@@ -0,0 +1,31 @@
+#!/bin/env python
+
+import sys
+import cv2
+import math
+import numpy as np
+import matplotlib.pyplot as plt
+
+def correct():
+ img = cv2.imread(sys.argv[1])
+ rows,cols,ch = img.shape
+
+ pts1 = np.float32([[98, 786],[20, 3268],[1800, 3268],[1798, 850]])
+
+ ratio=1.6
+ cardH=math.sqrt((pts1[2][0]-pts1[1][0])*(pts1[2][0]-pts1[1][0])+(pts1[2][1]-pts1[1][1])*(pts1[2][1]-pts1[1][1]))
+ cardW=ratio*cardH;
+ pts2 = np.float32([[pts1[0][0],pts1[0][1]], [pts1[0][0]+cardW, pts1[0][1]], [pts1[0][0]+cardW, pts1[0][1]+cardH], [pts1[0][0], pts1[0][1]+cardH]])
+
+ M = cv2.getPerspectiveTransform(pts1,pts2)
+
+ offsetSize=500
+ transformed = np.zeros((int(cardW+offsetSize), int(cardH+offsetSize)), dtype=np.uint8);
+ dst = cv2.warpPerspective(img, M, transformed.shape)
+
+ plt.subplot(121),plt.imshow(img),plt.title('Input')
+ plt.subplot(122),plt.imshow(dst),plt.title('Output')
+ plt.show()
+
+if __name__ == "__main__":
+ correct()