次のコードは、人の顔の画像を識別し、顔を切断する、画像を固定サイズに変換し、次いでその拡張に応じて格納されています
バグ:顔の複数の画像に対処するために使用される場合、私は、データセットの面にのみ単一の画像を識別するために使用し、その後、バグピクチャ命名があってもよいです
-
インポートCV2の インポートOS インポートグロブ #最后剪裁的图片大小 size_m = 48 size_n = 48 DEF 検出(IMG、カスケード): rects = cascade.detectMultiScale(IMG、scaleFactorを= 1.3、minNeighbors = 4に、minSize =(30、30)、フラグ= cv2.CASCADE_SCALE_IMAGE) 場合 LEN(rects)== 0: リターン[] rects [:, 2:] + = rects [:,:2 ] 戻りrects カスケード = cv2.CascadeClassifier(" カスケード\\ haarcascade_frontalface_alt2.xmlを" ) imglist = glob.glob(" データ/画像/ Jaffe氏は、/ * " ) のために一覧でimglist: #の印刷(一覧) #1 CV2は、読み取った画像 IMG = cv2.imread(一覧) DST = IMG rects = (DST、カスケード)を検出 するために X1、Y1、X2 、Y2 でrects: #は、撮影した顔の大きさを調整します。横方向X、前後方向Y ROI DST = Y1 + 10:+ 20がY2であり、X1 + 10 :X2] img_roi = ROI re_roi = cv2.resize(img_roi、(size_m、size_n)) #格納されたデータに新たな画像/画像/ jaffe_1 F = "} {/} { " .Format(" データ/イメージ" " jaffe_1 」) #1 印刷(F) IF 否定os.path.exists(F): os.mkdir(F) #の切断画像パス パス= list.split (" " )#格納されたデータ/画像/ jaffe_1名のサフィックスに新しいイメージおよびJPGに cv2.imwrite(" {} / {} {} _。JPG " .format(F、経路[1]、パス[ 2])、re_roi)
オリジナルます。https://blog.csdn.net/SHAOYEZUIZUISHAUI/article/details/103301229
-