如何在OpenCV Python中使用多个自定义级联?

2024-06-25 23:44:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用CV2进行自定义模型检测。有人能告诉我如何在一个程序中使用多个自定义模型吗

假设在水果检测和识别系统中,我制作了香蕉、苹果和橙子的自定义级联。现在,我将如何在一个程序中使用这三个级联,或者如果有其他方法,请通知我。谢谢


Tags: 方法模型程序苹果cv2级联香蕉水果
1条回答
网友
1楼 · 发布于 2024-06-25 23:44:24

这将帮助您在一个程序中使用多个CascadeClassifier

import cv2
import numpy as np

banana_cascade = cv2.CascadeClassifier('path to Banana.xml')
apple_cascade = cv2.CascadeClassifier('path to Apple.xml')
oranges_cascade = cv2.CascadeClassifier('path to Oranges.xml')

device = cv2.VideoCapture(0)

while True:
    
    ret, frame = device.read()
    if ret:
        
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        banana = banana_cascade.detectMultiScale(gray, 1.1, 10)
        apple = apple_cascade.detectMultiScale(gray, 1.1, 10)
        oranges = oranges_cascade.detectMultiScale(gray, 1.1, 10)

        for (x, y, w, h) in banana + apple + oranges:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)

        cv2.imshow("fruit detected", frame)
        if cv2.waitKey(1) & 0XFF == ord('q'):
            break

device.release()
cv2.destroyAllWindows()

相关问题 更多 >