欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中使用OpenCV進行人臉檢測的例子

 更新時間:2014年04月18日 09:31:02   作者:  
這篇文章主要介紹了python中使用OpenCV進行人臉檢測的例子,需要的朋友可以參考下

OpenCV的人臉檢測功能在一般場合還是不錯的。而ubuntu正好提供了python-opencv這個包,用它可以方便地實現(xiàn)人臉檢測的代碼。

寫代碼之前應(yīng)該先安裝python-opencv:

復(fù)制代碼 代碼如下:

$ sudo apt-get install python-opencv

具體原理就不多說了,可以參考一下這篇文章。直接上源碼。

復(fù)制代碼 代碼如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# face_detect.py

# Face Detection using OpenCV. Based on sample code from:
# http://python.pastebin.com/m76db1d6b

# Usage: python face_detect.py <image_file>

import sys, os
from opencv.cv import *
from opencv.highgui import *
from PIL import Image, ImageDraw
from math import sqrt

def detectObjects(image):
    """Converts an image to grayscale and prints the locations of any faces found"""
    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')

相關(guān)文章

  • Python利用shutil模塊實現(xiàn)文件的裁剪與壓縮

    Python利用shutil模塊實現(xiàn)文件的裁剪與壓縮

    shutil可以簡單地理解為sh+util ,shell工具的意思。shutil模塊是對os模塊的補充,主要針對文件的拷貝、刪除、移動、壓縮和解壓操作。本文將利用這一模塊實現(xiàn)文件的裁剪、壓縮與解壓縮,需要的可以參考一下
    2022-05-05
  • matplotlib實現(xiàn)區(qū)域顏色填充

    matplotlib實現(xiàn)區(qū)域顏色填充

    這篇文章主要為大家詳細介紹了matplotlib實現(xiàn)區(qū)域顏色填充,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python字符串中的單詞反轉(zhuǎn)的實現(xiàn)示例

    Python字符串中的單詞反轉(zhuǎn)的實現(xiàn)示例

    在Python中,要將字符串中的單詞進行反轉(zhuǎn),本文主要介紹了Python字符串中的單詞反轉(zhuǎn)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Django跨域請求CSRF的方法示例

    Django跨域請求CSRF的方法示例

    這篇文章主要介紹了Django跨域請求CSRF的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • python isinstance函數(shù)用法詳解

    python isinstance函數(shù)用法詳解

    這篇文章主要介紹了python isinstance函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • python寫日志封裝類實例

    python寫日志封裝類實例

    這篇文章主要介紹了python寫日志封裝類,實例分析了Python操作日志的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • python jupyter入門教程

    python jupyter入門教程

    Jupyter Notebook是一個開源的Web應(yīng)用程序,允許用戶創(chuàng)建和共享包含代碼、方程式、可視化和文本的文檔,今天通過本文給大家分享python jupyter入門教程,需要的朋友一起看看吧
    2021-08-08
  • Python時間管理黑科技之datetime函數(shù)詳解

    Python時間管理黑科技之datetime函數(shù)詳解

    在Python中,datetime模塊是處理日期和時間的標(biāo)準(zhǔn)庫,它提供了一系列功能強大的函數(shù)和類,用于處理日期、時間、時間間隔等,本文將深入探討datetime模塊的使用方法,感興趣的可以了解下
    2023-08-08
  • python使用openpyxl讀取合并單元格的值

    python使用openpyxl讀取合并單元格的值

    本文主要介紹了python使用openpyxl讀取合并單元格的值,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 分享8個非常流行的 Python 可視化工具包

    分享8個非常流行的 Python 可視化工具包

    喜歡用 Python 做項目的小伙伴不免會遇到這種情況:做圖表時,用哪種好看又實用的可視化工具包呢?今天小編給大家分享8個非常流行的 Python 可視化工具包,需要的朋友可以參考下
    2019-06-06

最新評論