Python文档阅读笔记-Car detection with OpenCV

在人脸检测中,使用预先被训练过的模型文件去侦测脸和眼睛。同样使用预先被训练过来的模型文件去检测汽车。将用这个模型检测出来的汽车用矩形框出来。

代码如下:

# OpenCV Python program to detect cars in video frame 
# import libraries of python OpenCV  
import cv2 
  
# capture frames from a video 
cap = cv2.VideoCapture('video.avi') 
  
# Trained XML classifiers describes some features of some object we want to detect 
car_cascade = cv2.CascadeClassifier('cars.xml') 
  
# loop runs if capturing has been initialized. 
while True: 
    # reads frames from a video 
    ret, frames = cap.read() 
      
    # convert to gray scale of each frames 
    gray = cv2.cvtColor(frames, cv2.COLOR_BGR2GRAY) 
      
  
    # Detects cars of different sizes in the input image 
    cars = car_cascade.detectMultiScale(gray, 1.1, 1) 
      
    # To draw a rectangle in each cars 
    for (x,y,w,h) in cars: 
        cv2.rectangle(frames,(x,y),(x+w,y+h),(0,0,255),2) 
  
   # Display frames in a window  
   cv2.imshow('video2', frames) 
      
    # Wait for Esc key to stop 
    if cv2.waitKey(33) == 27: 
        break
  
# De-allocate any associated memory usage 
cv2.destroyAllWindows() 

下面用个图片来试下,代码改成:

# OpenCV Python program to detect cars in video frame
# import libraries of python OpenCV
import cv2

if __name__ == '__main__':
    # capture frames from a video
    cap = cv2.imread('c1.jpg')

    # Trained XML classifiers describes some features of some object we want to detect
    car_cascade = cv2.CascadeClassifier('haarcascade_car.xml')



    # convert to gray scale of each frames
    gray = cv2.cvtColor(cap, cv2.COLOR_BGR2GRAY)

    # Detects cars of different sizes in the input image
    cars = car_cascade.detectMultiScale(gray, 1.1, 1)

    # To draw a rectangle in each cars
    for (x, y, w, h) in cars:
        cv2.rectangle(cap, (x, y), (x + w, y + h), (0, 0, 255), 2)
        # Display frames in a window
        cv2.imshow('ret', cap)

    cv2.waitKey(0)

    # De-allocate any associated memory usage
    cv2.destroyAllWindows()
    pass

结果如下:

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/129660311