ImagePRO-Python 1.1.0__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/PKG-INFO +17 -8
- imagepro_python-1.2.0/pyproject.toml +81 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/body_analysis/body_pose_estimation.py +11 -2
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/body_analysis/hand_tracking.py +11 -2
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/eye_status_analysis.py +11 -2
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/face_comparison.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/face_detection.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/face_mesh_analysis.py +11 -2
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/head_pose_estimation.py +11 -2
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/object_analysis/object_detection.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/blur.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/contrast.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/crop.py +8 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/dataset_generator.py +12 -4
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/grayscale.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/histogram.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/resize.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/rotate.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/sharpen.py +9 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/PKG-INFO +17 -8
- imagepro_python-1.2.0/src/ImagePRO_Python.egg-info/requires.txt +19 -0
- imagepro_python-1.1.0/pyproject.toml +0 -56
- imagepro_python-1.1.0/src/ImagePRO_Python.egg-info/requires.txt +0 -13
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/LICENSE +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/setup.cfg +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/body_analysis/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/object_analysis/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/utils/__init__.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/utils/image.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/utils/result.py +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/SOURCES.txt +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/dependency_links.txt +0 -0
- {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ImagePRO-Python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration.
|
|
5
5
|
Author-email: Parsa Safaie <parsasafaie.2568@proton.me>
|
|
6
6
|
License: MIT
|
|
@@ -13,23 +13,32 @@ Classifier: Development Status :: 4 - Beta
|
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: Intended Audience :: Science/Research
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
21
|
Classifier: License :: OSI Approved :: MIT License
|
|
18
22
|
Classifier: Operating System :: OS Independent
|
|
19
23
|
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
20
24
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
25
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
-
Requires-Python:
|
|
26
|
+
Requires-Python: <3.13,>=3.9
|
|
23
27
|
Description-Content-Type: text/markdown
|
|
24
28
|
License-File: LICENSE
|
|
25
|
-
Requires-Dist: numpy<
|
|
26
|
-
Requires-Dist: opencv-python<
|
|
27
|
-
Requires-Dist: matplotlib<
|
|
29
|
+
Requires-Dist: numpy<3.0,>=1.24
|
|
30
|
+
Requires-Dist: opencv-python<6.0,>=4.8
|
|
31
|
+
Requires-Dist: matplotlib<4.0,>=3.7
|
|
28
32
|
Provides-Extra: yolo
|
|
29
|
-
Requires-Dist: ultralytics<
|
|
33
|
+
Requires-Dist: ultralytics<10.0,>=8.2; extra == "yolo"
|
|
30
34
|
Provides-Extra: mediapipe
|
|
31
|
-
Requires-Dist: mediapipe<1.0,>=0.10
|
|
35
|
+
Requires-Dist: mediapipe<1.0,>=0.10; extra == "mediapipe"
|
|
32
36
|
Provides-Extra: insightface
|
|
33
37
|
Requires-Dist: insightface<1.0,>=0.7; extra == "insightface"
|
|
34
|
-
Requires-Dist: onnxruntime<
|
|
38
|
+
Requires-Dist: onnxruntime<3.0,>=1.16; extra == "insightface"
|
|
39
|
+
Provides-Extra: full
|
|
40
|
+
Requires-Dist: mediapipe<1.0,>=0.10; extra == "full"
|
|
41
|
+
Requires-Dist: ultralytics<10.0,>=8.2; extra == "full"
|
|
42
|
+
Requires-Dist: insightface<1.0,>=0.7; extra == "full"
|
|
43
|
+
Requires-Dist: onnxruntime<3.0,>=1.16; extra == "full"
|
|
35
44
|
Dynamic: license-file
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[tool.setuptools.packages.find]
|
|
6
|
+
where = ["src"]
|
|
7
|
+
|
|
8
|
+
[project]
|
|
9
|
+
name = "ImagePRO-Python"
|
|
10
|
+
version = "1.2.0"
|
|
11
|
+
description = "Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration."
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.9,<3.13"
|
|
14
|
+
license = { text = "MIT" }
|
|
15
|
+
|
|
16
|
+
authors = [
|
|
17
|
+
{ name = "Parsa Safaie", email = "parsasafaie.2568@proton.me" }
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
keywords = [
|
|
21
|
+
"opencv",
|
|
22
|
+
"mediapipe",
|
|
23
|
+
"computer-vision",
|
|
24
|
+
"face",
|
|
25
|
+
"pose",
|
|
26
|
+
"yolo",
|
|
27
|
+
"image-processing"
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
classifiers = [
|
|
31
|
+
"Development Status :: 4 - Beta",
|
|
32
|
+
"Intended Audience :: Developers",
|
|
33
|
+
"Intended Audience :: Science/Research",
|
|
34
|
+
"Programming Language :: Python :: 3",
|
|
35
|
+
"Programming Language :: Python :: 3.9",
|
|
36
|
+
"Programming Language :: Python :: 3.10",
|
|
37
|
+
"Programming Language :: Python :: 3.11",
|
|
38
|
+
"Programming Language :: Python :: 3.12",
|
|
39
|
+
"Programming Language :: Python :: 3.13",
|
|
40
|
+
"License :: OSI Approved :: MIT License",
|
|
41
|
+
"Operating System :: OS Independent",
|
|
42
|
+
"Topic :: Scientific/Engineering :: Image Processing",
|
|
43
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
44
|
+
"Topic :: Software Development :: Libraries :: Python Modules"
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
dependencies = [
|
|
48
|
+
"numpy>=1.24,<3.0",
|
|
49
|
+
"opencv-python>=4.8,<6.0",
|
|
50
|
+
"matplotlib>=3.7,<4.0"
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
[project.optional-dependencies]
|
|
54
|
+
yolo = [
|
|
55
|
+
"ultralytics>=8.2,<10.0"
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
mediapipe = [
|
|
59
|
+
"mediapipe>=0.10,<1.0"
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
insightface = [
|
|
63
|
+
"insightface>=0.7,<1.0",
|
|
64
|
+
"onnxruntime>=1.16,<3.0"
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
full = [
|
|
68
|
+
"mediapipe>=0.10,<1.0",
|
|
69
|
+
"ultralytics>=8.2,<10.0",
|
|
70
|
+
"insightface>=0.7,<1.0",
|
|
71
|
+
"onnxruntime>=1.16,<3.0"
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
[project.urls]
|
|
75
|
+
Homepage = "https://github.com/parsasafaie/ImagePRO"
|
|
76
|
+
Repository = "https://github.com/parsasafaie/ImagePRO.git"
|
|
77
|
+
Documentation = "https://github.com/parsasafaie/ImagePRO#readme"
|
|
78
|
+
Issues = "https://github.com/parsasafaie/ImagePRO/issues"
|
|
79
|
+
|
|
80
|
+
[tool.hatch.build.targets.wheel]
|
|
81
|
+
packages = ["src/ImagePRO"]
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
5
11
|
|
|
6
12
|
from ImagePRO.utils.image import Image
|
|
7
13
|
from ImagePRO.utils.result import Result
|
|
8
14
|
|
|
15
|
+
import cv2
|
|
16
|
+
import mediapipe as mp
|
|
17
|
+
|
|
9
18
|
# Constants
|
|
10
19
|
mp_pose = mp.solutions.pose
|
|
11
20
|
TOTAL_LANDMARKS = 33
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
5
11
|
|
|
6
12
|
from ImagePRO.utils.image import Image
|
|
7
13
|
from ImagePRO.utils.result import Result
|
|
8
14
|
|
|
15
|
+
import cv2
|
|
16
|
+
import mediapipe as mp
|
|
17
|
+
|
|
9
18
|
# Constants
|
|
10
19
|
mp_hands = mp.solutions.hands
|
|
11
20
|
DEFAULT_MAX_HANDS = 2
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
5
11
|
|
|
6
12
|
from ImagePRO.human_analysis.face_analysis.face_mesh_analysis import analyze_face_mesh
|
|
7
13
|
from ImagePRO.utils.image import Image
|
|
8
14
|
from ImagePRO.utils.result import Result
|
|
9
15
|
|
|
16
|
+
import cv2
|
|
17
|
+
import mediapipe as mp
|
|
18
|
+
|
|
10
19
|
# Constants
|
|
11
20
|
mp_face_mesh = mp.solutions.face_mesh
|
|
12
21
|
DEFAULT_MIN_CONFIDENCE = 0.7
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import os
|
|
4
13
|
|
|
5
14
|
import cv2
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
import mediapipe as mp
|
|
5
14
|
import numpy as np
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
5
11
|
|
|
6
12
|
from ImagePRO.utils.image import Image
|
|
7
13
|
from ImagePRO.utils.result import Result
|
|
8
14
|
|
|
15
|
+
import cv2
|
|
16
|
+
import mediapipe as mp
|
|
17
|
+
|
|
9
18
|
# Constants
|
|
10
19
|
mp_face_mesh = mp.solutions.face_mesh
|
|
11
20
|
mp_drawing_utils = mp.solutions.drawing_utils
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[3] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
5
11
|
|
|
6
12
|
from ImagePRO.human_analysis.face_analysis.face_mesh_analysis import analyze_face_mesh
|
|
7
13
|
from ImagePRO.utils.image import Image
|
|
8
14
|
from ImagePRO.utils.result import Result
|
|
9
15
|
|
|
16
|
+
import cv2
|
|
17
|
+
import mediapipe as mp
|
|
18
|
+
|
|
10
19
|
# Constants
|
|
11
20
|
mp_face_mesh = mp.solutions.face_mesh
|
|
12
21
|
DEFAULT_MAX_FACES = 1
|
{imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/object_analysis/object_detection.py
RENAMED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
from ultralytics import YOLO
|
|
4
13
|
|
|
5
14
|
from ImagePRO.utils.image import Image
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
|
|
5
14
|
from ImagePRO.utils.image import Image
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
|
|
5
14
|
from ImagePRO.utils.image import Image
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
3
11
|
|
|
4
12
|
from ImagePRO.utils.image import Image
|
|
5
13
|
from ImagePRO.utils.result import Result
|
{imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/dataset_generator.py
RENAMED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import time
|
|
3
|
+
import sys
|
|
5
4
|
from pathlib import Path
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
9
11
|
|
|
10
12
|
from ImagePRO.human_analysis.face_analysis.face_detection import detect_faces
|
|
11
13
|
from ImagePRO.pre_processing import blur, grayscale, rotate, sharpen, resize
|
|
12
14
|
from ImagePRO.utils.image import Image
|
|
13
15
|
|
|
16
|
+
import random
|
|
17
|
+
import time
|
|
18
|
+
|
|
19
|
+
import cv2
|
|
20
|
+
import mediapipe as mp
|
|
21
|
+
|
|
14
22
|
# Constants
|
|
15
23
|
DEFAULT_NUM_IMAGES = 200
|
|
16
24
|
DEFAULT_START_INDEX = 0
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
|
|
5
14
|
from ImagePRO.utils.image import Image
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
import matplotlib.pyplot as plt
|
|
5
14
|
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
|
|
5
14
|
from ImagePRO.utils.image import Image
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
import numpy as np
|
|
5
14
|
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Add src directory to path for absolute imports
|
|
7
|
+
_file_path = Path(__file__).resolve()
|
|
8
|
+
_src_path = _file_path.parents[2] # Go up to src directory
|
|
9
|
+
if str(_src_path) not in sys.path:
|
|
10
|
+
sys.path.insert(0, str(_src_path))
|
|
11
|
+
|
|
3
12
|
import cv2
|
|
4
13
|
import numpy as np
|
|
5
14
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ImagePRO-Python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration.
|
|
5
5
|
Author-email: Parsa Safaie <parsasafaie.2568@proton.me>
|
|
6
6
|
License: MIT
|
|
@@ -13,23 +13,32 @@ Classifier: Development Status :: 4 - Beta
|
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: Intended Audience :: Science/Research
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
21
|
Classifier: License :: OSI Approved :: MIT License
|
|
18
22
|
Classifier: Operating System :: OS Independent
|
|
19
23
|
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
20
24
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
25
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
-
Requires-Python:
|
|
26
|
+
Requires-Python: <3.13,>=3.9
|
|
23
27
|
Description-Content-Type: text/markdown
|
|
24
28
|
License-File: LICENSE
|
|
25
|
-
Requires-Dist: numpy<
|
|
26
|
-
Requires-Dist: opencv-python<
|
|
27
|
-
Requires-Dist: matplotlib<
|
|
29
|
+
Requires-Dist: numpy<3.0,>=1.24
|
|
30
|
+
Requires-Dist: opencv-python<6.0,>=4.8
|
|
31
|
+
Requires-Dist: matplotlib<4.0,>=3.7
|
|
28
32
|
Provides-Extra: yolo
|
|
29
|
-
Requires-Dist: ultralytics<
|
|
33
|
+
Requires-Dist: ultralytics<10.0,>=8.2; extra == "yolo"
|
|
30
34
|
Provides-Extra: mediapipe
|
|
31
|
-
Requires-Dist: mediapipe<1.0,>=0.10
|
|
35
|
+
Requires-Dist: mediapipe<1.0,>=0.10; extra == "mediapipe"
|
|
32
36
|
Provides-Extra: insightface
|
|
33
37
|
Requires-Dist: insightface<1.0,>=0.7; extra == "insightface"
|
|
34
|
-
Requires-Dist: onnxruntime<
|
|
38
|
+
Requires-Dist: onnxruntime<3.0,>=1.16; extra == "insightface"
|
|
39
|
+
Provides-Extra: full
|
|
40
|
+
Requires-Dist: mediapipe<1.0,>=0.10; extra == "full"
|
|
41
|
+
Requires-Dist: ultralytics<10.0,>=8.2; extra == "full"
|
|
42
|
+
Requires-Dist: insightface<1.0,>=0.7; extra == "full"
|
|
43
|
+
Requires-Dist: onnxruntime<3.0,>=1.16; extra == "full"
|
|
35
44
|
Dynamic: license-file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
numpy<3.0,>=1.24
|
|
2
|
+
opencv-python<6.0,>=4.8
|
|
3
|
+
matplotlib<4.0,>=3.7
|
|
4
|
+
|
|
5
|
+
[full]
|
|
6
|
+
mediapipe<1.0,>=0.10
|
|
7
|
+
ultralytics<10.0,>=8.2
|
|
8
|
+
insightface<1.0,>=0.7
|
|
9
|
+
onnxruntime<3.0,>=1.16
|
|
10
|
+
|
|
11
|
+
[insightface]
|
|
12
|
+
insightface<1.0,>=0.7
|
|
13
|
+
onnxruntime<3.0,>=1.16
|
|
14
|
+
|
|
15
|
+
[mediapipe]
|
|
16
|
+
mediapipe<1.0,>=0.10
|
|
17
|
+
|
|
18
|
+
[yolo]
|
|
19
|
+
ultralytics<10.0,>=8.2
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools>=61", "wheel"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[tool.setuptools.packages.find]
|
|
6
|
-
where = ["src"]
|
|
7
|
-
|
|
8
|
-
[project]
|
|
9
|
-
name = "ImagePRO-Python"
|
|
10
|
-
version = "1.1.0"
|
|
11
|
-
description = "Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration."
|
|
12
|
-
readme = "README.md"
|
|
13
|
-
requires-python = "==3.10.*"
|
|
14
|
-
license = {text = "MIT"}
|
|
15
|
-
authors = [{name = "Parsa Safaie", email = "parsasafaie.2568@proton.me"}]
|
|
16
|
-
keywords = ["opencv", "mediapipe", "computer-vision", "face", "pose", "yolo", "image-processing"]
|
|
17
|
-
classifiers = [
|
|
18
|
-
"Development Status :: 4 - Beta",
|
|
19
|
-
"Intended Audience :: Developers",
|
|
20
|
-
"Intended Audience :: Science/Research",
|
|
21
|
-
"Programming Language :: Python :: 3",
|
|
22
|
-
"Programming Language :: Python :: 3.10",
|
|
23
|
-
"License :: OSI Approved :: MIT License",
|
|
24
|
-
"Operating System :: OS Independent",
|
|
25
|
-
"Topic :: Scientific/Engineering :: Image Processing",
|
|
26
|
-
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
27
|
-
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
28
|
-
]
|
|
29
|
-
|
|
30
|
-
dependencies = [
|
|
31
|
-
"numpy>=1.24,<2.0",
|
|
32
|
-
"opencv-python>=4.8,<5.0",
|
|
33
|
-
"matplotlib>=3.7.0,<3.9.0"
|
|
34
|
-
]
|
|
35
|
-
|
|
36
|
-
[project.optional-dependencies]
|
|
37
|
-
yolo = [
|
|
38
|
-
"ultralytics>=8.2.0,<9.0"
|
|
39
|
-
]
|
|
40
|
-
mediapipe = [
|
|
41
|
-
"mediapipe>=0.10.0,<1.0"
|
|
42
|
-
]
|
|
43
|
-
insightface = [
|
|
44
|
-
"insightface>=0.7,<1.0",
|
|
45
|
-
"onnxruntime>=1.16,<2.0"
|
|
46
|
-
]
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
[project.urls]
|
|
50
|
-
Homepage = "https://github.com/parsasafaie/ImagePRO"
|
|
51
|
-
Repository = "https://github.com/parsasafaie/ImagePRO.git"
|
|
52
|
-
Documentation = "https://github.com/parsasafaie/ImagePRO#readme"
|
|
53
|
-
Issues = "https://github.com/parsasafaie/ImagePRO/issues"
|
|
54
|
-
|
|
55
|
-
[tool.hatch.build.targets.wheel]
|
|
56
|
-
packages = ["src/ImagePRO"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|