OpenCV Python 椭圆 和 FDDB 数据库
在人脸检测算法中,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 数据库相关推荐
- python用函数绘制椭圆_Python学习笔记——opencv绘制椭圆
在Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数. 下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240).长轴170.短轴130.线宽为3的 ...
- Python 用 OpenCV 画椭圆 (5)
利用 OpenCV 自带的 ellipse() 函数画椭圆 并显示,其函数声明如下: cv2.ellipse(img, center, axes, rotateAngle, startAngle, e ...
- windows下测试人脸检测分类器在FDDB数据库的性能
本文参考 http://blog.csdn.net/phoenix_zhou/article/details/47399819 , http://blog.csdn.net/mr_curry/arti ...
- 实战:使用OpenCV+Python+dlib为人脸生成口罩
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|AI算法与图像处理 本文使用OpenCV dlib库生成口 ...
- OpenCV Python教程(3)(4)(5): 直方图的计算与显示 形态学处理 初级滤波内
OpenCV Python教程(3.直方图的计算与显示) 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途 ...
- opencv绘制椭圆
在Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数. 下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240).长轴170.短轴130.线宽为3的 ...
- 美颜(磨皮,大眼)opencv python实现
本文是利用opencv python 的美颜(磨皮,大眼)实现. 1 磨皮 1.1 导向滤波 磨皮使用的是导向滤波进行磨皮.关于导向滤波的介绍,可以看我的另一篇文章导向滤波与opencv python ...
- opencv python安装 centos_centos下安装opencv
根据项目需要,安装opencv并提供给开发使用,并且使用opencv提供python3的API接口.虽然不知道是个啥,还是简单了解下. opencv是什么? OpenCV的全称是Open Source ...
- OpenCV+python:Canny边缘检测算法
1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...
- OpenCV Python在计算机视觉中的应用
OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...
最新文章
- 4天快速入门python数据挖掘_4天快速入门Python数据挖掘
- 不来这里买器件?亏大发了!
- centos6 yum快速安装mysql_centos6.10 yum安装mysql 5.6-Go语言中文社区
- exception日志 php_PHP中错误与异常的日志记录用法分析
- JavaBean 与 EJB 的区别
- c语言顺序栈的基本操作
- 【JavaWeb】button自带的reset方法
- 字节跳动财务报表_【实锤】这一波疫情过后,字节跳动要上市了
- 小白必看——UG NX模具分模原理知识,如何确定分型面
- 多层路由器端口映射设置
- python读取ods格式的表格文件
- 19. Redis的使用
- 疯狂Java讲义PDF
- Python手机号码归属地查询
- C++ this指针
- xnawindowsphCocos2d-x for XNA游戏引擎全面支持WP7
- 聚焦数据管理流程重塑
- WLAN部署(AC+AP)配置及常见问题记录
- Python程序访问北京预约挂号平台
- 中国文化垃圾论(zt)--作为镜子仅供反省