OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
hps
/
bfaces
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 10:38:34 AM
rwxr-xr-x
📄
.DS_Store
6 KB
10/24/2024 01:40:28 PM
rw-r--r--
📁
.ipynb_checkpoints
-
10/24/2024 01:40:37 PM
rwxr-xr-x
📁
.venv
-
10/24/2024 01:40:53 PM
rwxr-xr-x
📄
app.py
1008 bytes
10/24/2024 01:40:28 PM
rw-r--r--
📄
crop.py
1.5 KB
10/24/2024 01:40:28 PM
rw-r--r--
📄
crop.py.zip
913 bytes
10/24/2024 01:40:28 PM
rw-r--r--
📁
faces
-
10/24/2024 01:40:52 PM
rwxr-xr-x
📄
faces.sh
98 bytes
10/24/2024 01:40:29 PM
rw-r--r--
📄
faces_detected.jpg
177.95 KB
10/24/2024 01:40:29 PM
rw-r--r--
📁
img
-
10/24/2024 01:40:42 PM
rwxr-xr-x
📄
index.html
1.12 KB
10/24/2024 01:40:29 PM
rw-r--r--
📄
people_with_phones.png
88.37 KB
10/24/2024 01:40:29 PM
rw-r--r--
📄
people_with_phones_faces.jpg
8.57 KB
10/24/2024 01:40:30 PM
rw-r--r--
📄
requirements.txt
33 bytes
10/24/2024 01:40:30 PM
rw-r--r--
📄
straighten.py
1.38 KB
10/24/2024 01:40:30 PM
rw-r--r--
📄
test105105_faces.jpg
3.7 KB
10/24/2024 01:40:30 PM
rw-r--r--
📄
test116116_faces.jpg
5.22 KB
10/24/2024 01:40:31 PM
rw-r--r--
📄
test123123_faces.jpg
5.5 KB
10/24/2024 01:40:31 PM
rw-r--r--
📄
test137137_faces.jpg
7 KB
10/24/2024 01:40:31 PM
rw-r--r--
📄
test151151_faces.jpg
11.26 KB
10/24/2024 01:40:31 PM
rw-r--r--
📄
test196196_faces.jpg
9.02 KB
10/24/2024 01:40:32 PM
rw-r--r--
📄
test460460_faces.jpg
79.38 KB
10/24/2024 01:40:32 PM
rw-r--r--
📄
test462462_faces.jpg
76.62 KB
10/24/2024 01:40:32 PM
rw-r--r--
📄
test467467_faces.jpg
82.66 KB
10/24/2024 01:40:33 PM
rw-r--r--
📄
test470470_faces.jpg
83.53 KB
10/24/2024 01:40:33 PM
rw-r--r--
📄
test477477_faces.jpg
77.63 KB
10/24/2024 01:40:33 PM
rw-r--r--
📄
test483483_faces.jpg
81.52 KB
10/24/2024 01:40:33 PM
rw-r--r--
📄
test7777_faces.jpg
2.69 KB
10/24/2024 01:40:34 PM
rw-r--r--
📄
test8282_faces.jpg
4.3 KB
10/24/2024 01:40:34 PM
rw-r--r--
📄
test9999_faces.jpg
5.18 KB
10/24/2024 01:40:34 PM
rw-r--r--
📄
test_faces_detected.jpg
2.98 MB
10/24/2024 01:40:36 PM
rw-r--r--
📄
testing.ipynb
6.74 KB
10/24/2024 01:40:34 PM
rw-r--r--
Editing: straighten.py
Close
import cv2 import numpy as np import sys import os def get_rotation_angle(image): gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) blurred = cv2.GaussianBlur(gray, (5, 5), 0) edged = cv2.Canny(blurred, 50, 150) contours, _ = cv2.findContours(edged, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) largest_contour = max(contours, key=cv2.contourArea) rect = cv2.minAreaRect(largest_contour) angle = rect[-1] if angle < -45: angle = 90 + angle return -angle def rotate_image(image, angle): (h, w) = image.shape[:2] center = (w // 2, h // 2) M = cv2.getRotationMatrix2D(center, angle, 1.0) rotated = cv2.warpAffine(image, M, (w, h), flags=cv2.INTER_CUBIC, borderMode=cv2.BORDER_REPLICATE) return rotated if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: python straighten_image.py <path_to_image>") sys.exit(1) image_path = sys.argv[1] image = cv2.imread(image_path) if image is None: print(f"Error: Could not read image {image_path}") sys.exit(1) angle = get_rotation_angle(image) print(f"[INFO] Rotation angle: {angle:.2f} degrees") rotated_image = rotate_image(image, angle) output_path = os.path.splitext(image_path)[0] + '_straightened.jpg' cv2.imwrite(output_path, rotated_image) print(f"[INFO] Saved straightened image to {output_path}")