質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

0回答

3234閲覧

自分で用意した画像にラベルを付けたい

perotyu_ZH

総合スコア6

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2017/01/17 08:45

###前提・実現したいこと
http://fixxman.hatenablog.com/entry/2016/01/12/013344
に書かれているプログラムの
#データの読み込み
の部分のプログラムを
http://qiita.com/hitomatagi/items/8f2f37646179aca68649#_reference-cda83def48b86e81b94e

に書かれているプログラムで書き換えたいのですがPCAの部分でエラーが出てしまいうまくいきません。
ご享受お願い致します。

###発生している問題・エラーメッセージ

Traceback (most recent call last): File "c:\users\aaa\documents\visual studio 2015\Projects\face_predict\face_predict\face_predict.py", line 70, in <module> pca = RandomizedPCA(n_components=n_components, whiten=True).fit(X) File "C:\Users\aaa\Anaconda2\lib\site-packages\sklearn\decomposition\pca.py", line 571, in fit self._fit(check_array(X)) File "C:\Users\aaa\Anaconda2\lib\site-packages\sklearn\utils\validation.py", line 415, in check_array context)) ValueError: Found array with 0 feature(s) (shape=(1, 0)) while a minimum of 1 is required.

###該当のソースコード

#!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import print_function import cv2, os import numpy as np from PIL import Image import matplotlib.pyplot as plt from sklearn.cross_validation import train_test_split from sklearn.datasets import fetch_lfw_people from sklearn.grid_search import GridSearchCV from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from sklearn.decomposition import RandomizedPCA from sklearn.svm import SVC from sklearn.cross_validation import cross_val_score # トレーニング画像 train_path = '../Ariel_Sharon/' # Haar-like特徴分類器 cascadePath = "haarcascade_frontalface_default.xml" faceCascade = cv2.CascadeClassifier(cascadePath) # 指定されたpath内の画像を取得 def get_images_and_labels(path): # 画像を格納する配列 images = [[]] # ラベルを格納する配列 labels = [] # ファイル名を格納する配列 files = [] for f in os.listdir(path): # 画像のパス image_path = os.path.join(path, f) # グレースケールで画像を読み込む image_pil = Image.open(image_path).convert('L') # NumPyの配列に格納 image = np.array(image_pil, 'uint8') # Haar-like特徴分類器で顔を検知 faces = faceCascade.detectMultiScale(image) # 検出した顔画像の処理 for (x, y, w, h) in faces: # 顔を 200x200 サイズにリサイズ roi = cv2.resize(image[y: y + h, x: x + w], (200, 200), interpolation=cv2.INTER_LINEAR) # 画像を配列に格納&ファイル名を配列に格納 images.append([roi,f]) # ファイル名からラベルを取得 labels.append(int(f[7:9])) return images, labels def get_accuracy(clf, train_features, train_labels): scores = cross_val_score(clf, train_features, train_labels, cv=5) print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2)) # トレーニング画像を取得 X, y = get_images_and_labels(train_path) n_components = 150 pca = RandomizedPCA(n_components=n_components, whiten=True).fit(X) X_train_pca = pca.transform(X) X_test_pca = pca.transform(X)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問