在人脸检测算法中,FDDB人脸数据集的人脸标注是椭圆形的框。

FDDB: Face Detection Data Set and Benchmark

数据格式如下:

major_axis_radius minor_axis_radius angle center_x center_y 1
长轴,短轴,角度,椭圆中心X,椭圆中心Y,类别12002/08/15/big/img_346
2
57.900200 36.595000 -1.522423 167.614400 65.427201  1
58.832400 43.598899 1.552231 304.969700 89.517800  1

图像

使用OpenCV将椭圆框的人脸标记到图像中,注意:椭圆函数是ellipse()的轴参数,是先短轴后长轴,与FDDB数据集正好相反。

import cv2img = cv2.imread('./data/img_346.jpg')  # 读取图像cv2.ellipse(img, center=(167, 65), axes=(36, 58),angle=-1.522423, startAngle=0, endAngle=360,color=255)cv2.ellipse(img, center=(304, 89), axes=(43, 58),angle=1.552231, startAngle=0, endAngle=360,color=255)cv2.imshow('Image', img)
cv2.imwrite('./data/img_346.bbox.jpg', img)
cv2.waitKey(0)

将椭圆框转换为矩形框,中心加减长短轴,就是矩形框的两个对角点:

import cv2img = cv2.imread('./data/img_346.jpg')cv2.ellipse(img, center=(167, 65), axes=(36, 58),angle=-1.522423, startAngle=0, endAngle=360,color=255)cv2.ellipse(img, center=(304, 89), axes=(43, 58),angle=1.552231, startAngle=0, endAngle=360,color=255)i1_pt1 = (167 - 36, 65 - 58)
i1_pt2 = (167 + 36, 65 + 58)
cv2.rectangle(img, pt1=i1_pt1, pt2=i1_pt2, color=(255, 0, 255))i2_pt1 = (304 - 43, 89 - 58)
i2_pt2 = (304 + 43, 89 + 58)
cv2.rectangle(img, pt1=i2_pt1, pt2=i2_pt2, color=(255, 0, 255))cv2.imshow('Image', img)
cv2.imwrite('./data/img_346.bbox.jpg', img)
cv2.waitKey(0)

OK, that’s all! Enjoy it!

OpenCV Python 椭圆 和 FDDB 数据库相关推荐

  1. python用函数绘制椭圆_Python学习笔记——opencv绘制椭圆

    在Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数. 下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240).长轴170.短轴130.线宽为3的 ...

  2. Python 用 OpenCV 画椭圆 (5)

    利用 OpenCV 自带的 ellipse() 函数画椭圆 并显示,其函数声明如下: cv2.ellipse(img, center, axes, rotateAngle, startAngle, e ...

  3. windows下测试人脸检测分类器在FDDB数据库的性能

    本文参考 http://blog.csdn.net/phoenix_zhou/article/details/47399819 , http://blog.csdn.net/mr_curry/arti ...

  4. 实战:使用OpenCV+Python+dlib为人脸生成口罩

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|AI算法与图像处理 本文使用OpenCV dlib库生成口 ...

  5. OpenCV Python教程(3)(4)(5): 直方图的计算与显示 形态学处理 初级滤波内

    OpenCV Python教程(3.直方图的计算与显示) 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途 ...

  6. opencv绘制椭圆

    在Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数. 下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240).长轴170.短轴130.线宽为3的 ...

  7. 美颜(磨皮,大眼)opencv python实现

    本文是利用opencv python 的美颜(磨皮,大眼)实现. 1 磨皮 1.1 导向滤波 磨皮使用的是导向滤波进行磨皮.关于导向滤波的介绍,可以看我的另一篇文章导向滤波与opencv python ...

  8. opencv python安装 centos_centos下安装opencv

    根据项目需要,安装opencv并提供给开发使用,并且使用opencv提供python3的API接口.虽然不知道是个啥,还是简单了解下. opencv是什么? OpenCV的全称是Open Source ...

  9. OpenCV+python:Canny边缘检测算法

    1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...

  10. OpenCV Python在计算机视觉中的应用

    OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...

最新文章

  1. 4天快速入门python数据挖掘_4天快速入门Python数据挖掘
  2. 不来这里买器件?亏大发了!
  3. centos6 yum快速安装mysql_centos6.10 yum安装mysql 5.6-Go语言中文社区
  4. exception日志 php_PHP中错误与异常的日志记录用法分析
  5. JavaBean 与 EJB 的区别
  6. c语言顺序栈的基本操作
  7. 【JavaWeb】button自带的reset方法
  8. 字节跳动财务报表_【实锤】这一波疫情过后,字节跳动要上市了
  9. 小白必看——UG NX模具分模原理知识,如何确定分型面
  10. 多层路由器端口映射设置
  11. python读取ods格式的表格文件
  12. 19. Redis的使用
  13. 疯狂Java讲义PDF
  14. Python手机号码归属地查询
  15. C++ this指针
  16. xnawindowsphCocos2d-x for XNA游戏引擎全面支持WP7
  17. 聚焦数据管理流程重塑
  18. WLAN部署(AC+AP)配置及常见问题记录
  19. Python程序访问北京预约挂号平台
  20. 中国文化垃圾论(zt)--作为镜子仅供反省

热门文章

  1. Solidworks工程图模板之自定义文件属性与零件图关联
  2. undo歌词中文音译_《U-n-d-e-r–STANDING!》中文歌词及音译
  3. 软件开发人员的简历项目经验
  4. shiro权限架作战
  5. c语言车辆管理程序,用c语言编的车辆管理
  6. 用Retinaface_pytorch项目检测人脸+ Python 3 剪切人脸图片并保存
  7. Android opencv 检测屏幕是否有坏点/检测一个颜色是否有杂点
  8. 电阻中联分压电路的计算
  9. 中英文1:2等宽字体
  10. 微信抢红包微信 PHP代码实现