1. Εξαγωγή πλαισίου:
Αυτό το βήμα περιλαμβάνει την ανάγνωση ενός αρχείου βίντεο και την εξαγωγή μεμονωμένων πλαισίων (εικόνες) σε συγκεκριμένα διαστήματα ή σε όλα τα πλαίσια.
* χρησιμοποιώντας το OpenCV (Python):
`` `Python
Εισαγωγή CV2
def extract_frames (video_path, output_path, διάστημα =1):#InterVal είναι ο παράγοντας παράκαμψης πλαισίου
"" "
Εξάγει πλαίσια από ένα αρχείο βίντεο.
Args:
video_path:Διαδρομή προς το αρχείο βίντεο εισόδου.
output_path:Διαδρομή προς τον κατάλογο όπου θα αποθηκευτούν πλαίσια.
διάστημα:Εξαγάγετε κάθε πλαίσιο n (προεπιλογή είναι 1, για κάθε πλαίσιο).
"" "
vidCap =cv2.videocapture (video_path)
Επιτυχία, εικόνα =vidCap.read ()
Count =0
Ενώ η επιτυχία:
Εάν Count % διάστημα ==0:
cv2.imwrite (f "{output_path}/frame_ {count} .jpg", image) # Αποθήκευση πλαισίου ως αρχείο jpeg
Επιτυχία, εικόνα =vidCap.read ()
count +=1
vidCap.release ()
εκτύπωση (F "καρέ που εξάγονται σε {output_path}")
video_path ="your_video.mp4" # Αντικαταστήστε με τη διαδρομή αρχείου βίντεο
output_path ="πλαίσια" # Αντικαταστήστε με τον επιθυμητό κατάλογο εξόδου σας
extract_frames (video_path, output_path, διάστημα =10) #Extract κάθε 10ο πλαίσιο.
`` `
Πριν εκτελέσετε αυτό, βεβαιωθείτε ότι έχετε εγκαταστήσει το OpenCV (`PIP εγκατάστασης OpenCV-Python '). Δημιουργήστε εκ των προτέρων τον κατάλογο «πλαισίων».
2. Επεξεργασία εικόνας:
Μόλις εξαχθούν τα πλαίσια, μπορείτε να εφαρμόσετε διάφορες τεχνικές επεξεργασίας εικόνας. Ακολουθούν μερικά παραδείγματα χρησιμοποιώντας το OpenCV:
* μέγεθος:
`` `Python
Εισαγωγή CV2
def resize_image (image_path, output_path, πλάτος, ύψος):
img =cv2.imread (image_path)
resized_img =cv2.resize (img, (πλάτος, ύψος))
cv2.imwrite (output_path, resized_img)
#Παράδειγμα
REASIZE_IMAGE ("FRAMES/FRAME_0.JPG", "RESIZED_FRAME.JPG", 320, 240)
`` `
* Grayscaling:
`` `Python
Εισαγωγή CV2
def grayscale_image (image_path, output_path):
img =cv2.imread (image_path)
gray_img =cv2.cvtcolor (img, cv2.color_bgr2gray)
cv2.imwrite (output_path, gray_img)
#Παράδειγμα
grayscale_image ("Frames/Frame_0.jpg", "Gray_frame.jpg")
`` `
* Ανίχνευση άκρων (canny):
`` `Python
Εισαγωγή CV2
def canny_edge_detection (image_path, output_path, κατώφλι1, κατώφλι2):
img =cv2.imread (image_path, cv2.imread_grayscale) #canny εργάζεται στο grayscale
άκρες =cv2.canny (img, κατώφλι1, κατώφλι2)
cv2.imwrite (output_path, άκρες)
#Παράδειγμα
canny_edge_detection ("Frames/Frame_0.jpg", "Edges.jpg", 100, 200)
`` `
* Blurring (Gaussian):
`` `Python
Εισαγωγή CV2
def gaussian_blur (image_path, output_path, ksize):
img =cv2.imread (image_path)
Blurred =cv2.gaussianblur (img, ksize, 0)
cv2.imwrite (output_path, θολή)
#Example - 5x5 πυρήνας
Gaussian_blur ("Frames/Frame_0.jpg", "Blurred.jpg", (5,5))
`` `
Αυτά είναι μόνο μερικά βασικά παραδείγματα. Το OpenCV παρέχει μια τεράστια σειρά λειτουργιών για την επεξεργασία εικόνας, όπως:
* κατώφλι: Μετατρέποντας μια εικόνα σε ασπρόμαυρο με βάση την ένταση των εικονοστοιχείων.
* Φιλτράρισμα: Αφαίρεση θορύβου ή ενίσχυσης χαρακτηριστικών.
* Ανίχνευση αντικειμένων: Προσδιορισμός και εντοπισμός αντικειμένων μέσα στην εικόνα.
* κατάτμηση: Χωρίζοντας την εικόνα σε σημαντικές περιοχές.
* Μετατροπή χώρου χρώματος: Αλλαγή της αναπαράστασης χρώματος της εικόνας (π.χ. RGB σε HSV).
3. Συνδυάζοντας την εξαγωγή πλαισίου και την επεξεργασία εικόνας:
Μπορείτε να συνδυάσετε αυτά τα βήματα για να επεξεργαστείτε κάθε εξαγόμενο πλαίσιο:
`` `Python
Εισαγωγή CV2
εισαγωγή λειτουργικού συστήματος
def process_frames (video_path, output_path, διάστημα =1):
extract_frames (video_path, output_path, διάστημα)
για όνομα αρχείου στο OS.ListDir (output_path):
Εάν το όνομα FileName.endswith ("JPG"):
image_path =os.path.join (output_path, όνομα αρχείου)
grayscale_image (image_path, os.path.join (output_path, fileName.replace ("jpg", "_gray.jpg")))) #Example:Grayscale Processing
#Παράδειγμα χρήσης:
video_path ="your_video.mp4"
output_path ="processed_frames"
process_frames (video_path, output_path, διάστημα =5)
`` `
Θυμηθείτε να εγκαταστήσετε τις απαραίτητες βιβλιοθήκες (`PIP εγκατάσταση του OpenCV-Python '). Ρυθμίστε τις διαδρομές και τις παραμέτρους του αρχείου όπως απαιτείται για τις συγκεκριμένες απαιτήσεις βίντεο και επεξεργασίας. Για πιο προηγμένες εργασίες, σκεφτείτε να χρησιμοποιήσετε βιβλιοθήκες όπως η εικόνα SCIKIT για πιο εξελιγμένη ανάλυση εικόνων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα