diff --git a/README.md b/README.md index 88b97b5..62b414c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,47 @@ -# Test +import cv2 +import numpy as np +import os + +def capture_images_from_video(video_path, save_dir, frame_interval=30): + cap = cv2.VideoCapture(video_path) + frame_count = 0 + while cap.isOpened(): + ret, frame = cap.read() + if not ret: + break + if frame_count % frame_interval == 0: + file_path = os.path.join(save_dir, f'frame_{frame_count}.jpg') + cv2.imwrite(file_path, frame) + frame_count += 1 + cap.release() + +def augment_image(image): + # 图像旋转 + rows, cols, _ = image.shape + rotation_matrix = cv2.getRotationMatrix2D((cols/2, rows/2), 10, 1) + image = cv2.warpAffine(image, rotation_matrix, (cols, rows)) + # 图像翻转 + image = cv2.flip(image, 1) + return image + +def preprocess_image(image_path): + # 读取图像 + image = cv2.imread(image_path) + # 图像缩放 + image = cv2.resize(image, (640, 640)) + # 图像归一化 + image = image / 255.0 + # 去噪处理(例如高斯模糊) + image = cv2.GaussianBlur(image, (5, 5), 0) + # 图像增强 + image = augment_image(image) + return image + +# 示例 +video_path = 'path/to/video.mp4' +save_dir = 'path/to/save/images' +capture_images_from_video(video_path, save_dir) + +image_path = 'path/to/traffic_sign_image.jpg' +preprocessed_image = preprocess_image(image_path)