作业:瞳距测量(python opencv)

目标:使用python及opencv库进行图片采集及瞳距计算

包含以下文件:

  • capture.python:用以实现调用笔记本摄像头进行图片抓取
  • feature.python:用以读取所抓取图片并进行瞳距计算
  • capture.jpg:实验所用人脸图片数据
  • haarcascade_frontalface_default.xml:opencv官网下载的用来检测人脸的数据文件
  • haarcascade_eye.xml:opencv官网下载的用来检测人眼的数据文件
  • 使用说明.txt:环境配置及代码运行说明
  • .vscode:使用vscode编辑器时自动生成的配置文件

环境:

(opencv) E:\SoftwareProjection>conda list
# packages in environment at D:\miniconda\envs\opencv:
#
# Name                    Version                   Build  Channel
astroid                   2.4.2                    pypi_0    pypi
certifi                   2020.6.20          pyhd3eb1b0_3
colorama                  0.4.4                    pypi_0    pypi
imutils                   0.5.3                    pypi_0    pypi
isort                     4.3.21                   pypi_0    pypi
lazy-object-proxy         1.4.3                    pypi_0    pypi
mccabe                    0.6.1                    pypi_0    pypi
numpy                     1.18.5                   pypi_0    pypi
opencv-python             4.4.0.42                 pypi_0    pypi
pip                       10.0.1                   py35_0
pylint                    2.6.0                    pypi_0    pypi
python                    3.5.6                he025d50_0
setuptools                40.2.0                   py35_0
six                       1.15.0                   pypi_0    pypi
toml                      0.10.2                   pypi_0    pypi
typed-ast                 1.4.1                    pypi_0    pypi
vc                        14.1                 h0510ff6_4
vs2015_runtime            14.16.27012          hf0eaf9b_3
wheel                     0.35.1             pyhd3eb1b0_0
wincertstore              0.2              py35hfebbdb8_0
wrapt                     1.12.1                   pypi_0    pypi

实现过程及结果:

capture.py:

调用摄像头采集图片,按s键可保存图片capture.jpg(分辨率:640×480)至当前路径,按ESC退出。若路径下本身存在同名文件,则会进行覆盖。
图片要求:人脸清晰,光线充足,且不能佩戴眼镜(眼镜反光会导致无法识别)

import numpy as np
import cv2
cap=cv2.VideoCapture(0)                                    #参数为0为笔记本自带摄像头
while True:
    success,img=cap.read()                              #从摄像头读取图片
    #gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)          #转为灰度图片
    cv2.imshow("img",img)                               #显示摄像头
    k=cv2.waitKey(1)                                   #保持画面的持续。
    if k == 27:
        cv2.destroyAllWindows()                        #通过esc键退出摄像
        break
    elif k==</
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值