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

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

ただいまの
回答率

90.53%

  • Python 2.7

    1258questions

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

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

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 861

perotyu_ZH

score 2

前提・実現したいこと

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)
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

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

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

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    scikit-learn(svm)のエラーについて

    質問内容 python、機械学習共に初学者です。 自分で適当なcsvファイルをデータセットとして作成し 下記のソースコードを実行したところ、下記のようなエラーが発生しました。

  • 解決済

    Tensorflowのfully_connected_feedの実行にエラーが続く

    tensoflowのfully_connected_feed.pyを実行しようとしているのですが、どう試行錯誤してもエラーが続きます。 tensorflowのインストールの仕方、

  • 解決済

    PILで画像を円形に切り抜きたい。

    Mac OS Sierra Ver:10.12.1 Python Imaging Libraryを使用して画像を円形に切り取る を参考に画像を円形に切り抜きたい。 Work

  • 解決済

    hyperoptを使ってdeep learning(keras)のhyper parameterをt...

    Hyperoptというpythonのライブラリーがあります。 これは、機械学習において、hyper parameterを自動的に最適化する優れものです。 また、tensolfl

  • 解決済

    Pyhon : k 近傍の混同行列

    前提・実現したいこと k 近傍法の実装の正解率の結果を元に混同行列を作成したいのですがどうすればいいのか。(kの大きさごとに混合行列を作成したいため) 該当のソースコード fr

  • 解決済

    chainerサンプルコードtrain_mnist.pyのエラー

    前提・実現したいこと githubから以下の公式chainerファイルをクローンし サンプルコードtest_mnist.py を実行したらエラーが返ってきました どなたか解決方法を

  • 解決済

    MacOSでpython tkinterについての質問です。

    ボールドテキストpythonのtkinterを使って、拡張子pngの画像の読み込みが出来ません。 環境はMacOSのJupyter Notebookなのですが、テキストではWind

  • 解決済

    Python pillowモジュールrectangleで透明度を設定する

    Pythonのpillowモジュールで、画像を読み込んで貼り付けた後に、 長方形を貼り付けたいと思います。 draw.rectangle(((「x座標」, 「y座標」), fill

同じタグがついた質問を見る

  • Python 2.7

    1258questions

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