py-image-dataset-generator 使用教程
1. 项目的目录结构及介绍
py-image-dataset-generator/
├── augmentation/
│ ├── __init__.py
│ ├── augmentation.py
│ └── augmentation_config.py
├── image_grabber/
│ ├── __init__.py
│ └── image_grabber.py
├── tests/
│ ├── __init__.py
│ └── test_suite.py
├── utils/
│ ├── __init__.py
│ └── utils.py
├── .gitignore
├── LICENSE
├── README.md
├── __init__.py
├── download.py
├── requirements.txt
augmentation/
: 包含图像增强相关的模块。augmentation.py
: 图像增强的主要实现。augmentation_config.py
: 图像增强的配置文件。
image_grabber/
: 包含图像抓取相关的模块。image_grabber.py
: 图像抓取的主要实现。
tests/
: 包含测试相关的模块。test_suite.py
: 测试套件。
utils/
: 包含工具函数。download.py
: 下载图像的脚本。requirements.txt
: 项目依赖文件。
2. 项目的启动文件介绍
项目的启动文件是 download.py
,它负责下载图像并生成数据集。以下是启动文件的基本结构:
import argparse
from dataset_generator import DatasetGenerator
parser = argparse.ArgumentParser(description="Image Dataset Generator")
parser.add_argument("--folder", type=str, required=True, help="Folder path to save images")
parser.add_argument("--num_files", type=int, required=True, help="Number of files to download")
parser.add_argument("--limit", type=int, default=None, help="Limit of images to download")
parser.add_argument("--dest", type=str, default=None, help="Destination folder for augmented images")
args = parser.parse_args()
generator = DatasetGenerator(
folder_path=args.folder,
num_files=args.num_files,
folder_destination=args.folder + "/output" if args.dest is None else args.dest
)
# 执行图像增强操作
if 'rotate' in DEFAULT_OPERATIONS:
generator.rotate(probability=DEFAULT_ROTATE_PROBABILITY, max_left_degree=DEFAULT_ROTATE_MAX_LEFT_DEGREE, max_right_degree=DEFAULT_ROTATE_MAX_RIGHT_DEGREE)
if 'blur' in DEFAULT_OPERATIONS:
generator.blur(probability=DEFAULT_BLUR_PROBABILITY)
if 'random_noise' in DEFAULT_OPERATIONS:
generator.random_noise(probability=DEFAULT_RANDOM_NOISE_PROBABILITY)
if 'horizontal_flip' in DEFAULT_OPERATIONS:
generator.horizontal_flip(probability=DEFAULT_HORIZONTAL_FLIP_PROBABILITY)
if 'vertical_flip' in DEFAULT_OPERATIONS:
generator.vertical_flip(probability=DEFAULT_VERTICAL_FLIP_PROBABILITY)
3. 项目的配置文件介绍
项目的配置文件是 augmentation_config.py
,它定义了图像增强操作的默认参数。以下是配置文件的基本结构:
DEFAULT_OPERATIONS = ['rotate', 'blur', 'random_noise', 'horizontal_flip', 'vertical_flip']
DEFAULT_ROTATE_PROBABILITY = 0.5
DEFAULT_ROTATE_MAX_LEFT_DEGREE = 30
DEFAULT_ROTATE_MAX_RIGHT_DEGREE = 30
DEFAULT_BLUR_PROBABILITY = 0.5
DEFAULT_RANDOM_NOISE_PROBABILITY = 0.5
DEFAULT_HORIZONTAL_FLIP_PROBABILITY = 0.5
DEFAULT_VERTICAL_FLIP_PROBABILITY = 0.5
这些配置参数定义了图像增强操作的概率和范围,用户可以根据需要修改这些参数以适应不同的应用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考