Python确实用起来要方便很多
我觉得最多的好处就是库的加入要方便很多,不需要想VS那样设置很多东西。
今天用Opencv2.2 写了一个人脸检测的程序:
import os import sys import cv import cv2 from cv import * import numpy as np import numpy def detect(image): image_size = cv.GetSize(image) # create grayscale version gray = cv.CreateImage((image.width, image.height), 8, 1) cv.CvtColor(image, gray, cv.CV_BGR2GRAY) # create storage storage = cv.CreateMemStorage(0) #cv.ClearMemStorage(storage) # equalize histogram cv.EqualizeHist(gray, gray) # detect objects cascade = cv.Load('haarcascade_frontalface_alt.xml') faces = cv.HaarDetectObjects(gray, cascade, storage, 1.2, 2, 0, (50, 50)) if faces: for ((x, y, w, h), n) in faces: pt1 = (int(x), int(y)) pt2 = (int((x + w)), int((y + h))) cv.Rectangle(image, pt1, pt2, cv.RGB(255, 0, 0), 3, 8, 0) cv.SetImageROI(image, (pt1[0],pt1[1],pt2[0] - pt1[0],int((pt2[1] - pt1[1])))) # surf = cv2.SURF() # keys,desc = surf.detect(image,None,useProvidedKeypoints = False) image = cv.LoadImage('woman2.bmp'); detect(image) cv.SaveImage("face.bmp", image) cv.ShowImage("Intilization Face", image) cv.waitKey(0)
这个大家要注意,因为我发现opencv2.1 2.2 2.4 中
很多函数都有变化。调用也都不太一样