import
sys, os
from
opencv.cv
import
*
from
opencv.highgui
import
*
from
PIL
import
Image, ImageDraw
from
math
import
sqrt
def
detectObjects(image):
grayscale
=
cvCreateImage(cvSize(image.width, image.height),
8
,
1
)
cvCvtColor(image, grayscale, CV_BGR2GRAY)
storage
=
cvCreateMemStorage(
0
)
cvClearMemStorage(storage)
cvEqualizeHist(grayscale, grayscale)
cascade
=
cvLoadHaarClassifierCascade(
\
'/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml\'
,
cvSize(
1
,
1
))
faces
=
cvHaarDetectObjects(grayscale, cascade, storage,
1.1
,
2
,
CV_HAAR_DO_CANNY_PRUNING, cvSize(
20
,
20
))
result
=
[]
for
f
in
faces:
result.append((f.x, f.y, f.x
+
f.width, f.y
+
f.height))
return
result
def
grayscale(r, g, b):
return
int
(r
*
.
3
+
g
*
.
59
+
b
*
.
11
)
def
process(infile, outfile):
image
=
cvLoadImage(infile);
if
image:
faces
=
detectObjects(image)
im
=
Image.
open
(infile)
if
faces:
draw
=
ImageDraw.Draw(im)
for
f
in
faces:
draw.rectangle(f, outline
=
(
255
,
0
,
255
))
im.save(outfile,
"JPEG"
, quality
=
100
)
else
:
print
"Error: cannot detect faces on %s"
%
infile
if
__name__
=
=
"__main__"
:
process(\
'input.jpg\', \'output.jpg\'
)
分享到:
相关推荐
Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+文档2023最新教程【樵夫教你学Python】Python全套教程 Python基础python基础课代码+...
Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门...
python管理系统(python+mysql)代码.zipPython管理系统(python+mysql)代码.zipPython管理系统(python+mysql)代码.zipPython管理系统(python+mysql)代码.zipPython管理系统(python+mysql)代码.zipPython管理...
Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13条形码 Python源码Python 根据用户输入编码批量生成EAN-13...
Python 如何批量替换Word文档中的指定内容(包括页眉)Python源码Python 如何批量替换Word文档中的指定内容(包括页眉)Python源码Python 如何批量替换Word文档中的指定内容(包括页眉)Python源码Python 如何批量...
python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵...
Python 如何批量提取Word文档的页码(并计算总页码)Python源码Python 如何批量提取Word文档的页码(并计算总页码)Python源码Python 如何批量提取Word文档的页码(并计算总页码)Python源码Python 如何批量提取Word...
150套Python实战操作源码,其中包含了12章节(详见文件目录): 01python核心基础应用(13套) 02python字符串处理(9套) 03python文件操作(9套) 04pythonGUl界面开发(13套) 05python图形图像与多媒体(15套) ...
Linux下 源码安装 Python-2.7.18,解压Python-2.7.18.zip后 [root@RedHatEnterpriseLinux9 ~]# tar -zxvf Python-2.7.18.tgz [root@RedHatEnterpriseLinux9 ~]# cd Python-2.7.18 [root@RedHatEnterpriseLinux9 ~]#...
Python 解决调用Word2007时出现“尚未调用Colnitialize”错误 Python源码Python 解决调用Word2007时出现“尚未调用Colnitialize”错误 Python源码Python 解决调用Word2007时出现“尚未调用Colnitialize”错误 Python...
Python基础入门知识教程 Python是一个功能强大且广泛应用的高级编程语言。了解Python的发展历史、优缺点、应用场景、数据类型转换、编写第一个Python程序、注释的引入、中文支持、输入变量、类型标示符、关键字、...
source insight python Python.CLF 语言包 SourceInsight作如下配置: (1)选择Options > Preferences,单击Languages选项; (2)单击import按钮,装载并导入Python.CLF; (3)这时可以看到,左栏语言列表多...
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题python入门奶牛问题...
首先,要实现C++调用Python,通常会用到Python的`Python.h`头文件,它是Python的C API,允许C/C++代码与Python解释器进行交互。但是,这种常规方法要求目标系统已经安装了Python环境。为了解决这个问题,项目可能...
Python是一种高级编程语言,以其简洁明了的语法和丰富的标准库而受到广泛欢迎。"Python八股文"可能指的是对Python基础知识的一种系统性总结。在Python中,有以下几个关键概念值得深入探讨: 1. **内置电池...
Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python...
Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋...
python计算机二级题库(附带答案)python计算机二级题库(附带答案)python计算机二级题库(附带答案)python计算机二级题库(附带答案)python计算机二级题库(附带答案)python计算机二级题库(附带答案)python...