【问题标题】:how to Save only the eye image after the detection with opencv and python?用opencv和python检测后如何只保存眼睛图像?
【发布时间】:2019-12-29 22:00:05
【问题描述】:

使用opencv和Python检测后如何只保存眼睛图像?

这是我尝试过的代码:

import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('C:\\Users\MJ-INFO\Anaconda3\pkgs\libopencv-3.4.1-h875b8b8_3\Library\etc\haarcascades\haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('C:\\Users\MJ-INFO\Anaconda3\pkgs\libopencv-3.4.1-h875b8b8_3\Library\etc\haarcascades\haarcascade_eye.xml')

img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.2, 5)

for (x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        roi_gray = gray[y:y+h, x:x+w]
        roi_color = img[y:y+h, x:x+w]

        eyes = eye_cascade.detectMultiScale(roi_gray)

        for (ex, ey, ew, eh) in eyes:
            crop_img = roi_color[ey: ey + eh, ex: ex + ew]
            cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

但它不起作用?

【问题讨论】:

  • 什么是眼睛图像?最好将示例图像发布到一些免费的托管服务并将 URL 放在这里。

标签: python opencv


【解决方案1】:

如果我正确地回答了您的问题,您想将crop_img 保存在循环中吗?因此,只需在定义crop_img 后添加cv::imwrite(...)。由于您可以拥有不止一只眼睛,因此您需要考虑为文件命名。

【讨论】:

    猜你喜欢
    • 2018-05-02
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2018-10-04
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多