2016-07-13 105 views
-3

ハフ変換を使用すると問題が発生します。私はテストの虹彩の画像で唯一の瞳孔を検出したい。コードは以下の通りです:虹彩認識pythonで瞳孔を検出

import cv2 
from cv2 import cv 
import numpy as np 
import os 

directory = os.listdir("/home/joker26/Scrivania/casia/test") 
numero_file = len(directory) 
for file in directory: 
    print file 
file_iride = raw_input("File(riportare anche estensione): ") 
path = "/home/joker26/Scrivania/casia/test/%s" %(file_iride) 
image_iride = cv2.imread(path) 
output = image_iride.copy() 
image_test = cv2.imread(path, cv2.CV_LOAD_IMAGE_GRAYSCALE) 

image_test = cv2.Canny(image_test,5,70,apertureSize=3) 
image_test = cv2.GaussianBlur(image_test, (7,7), 1) 

cerchi = cv2.HoughCircles(image_test, cv2.cv.CV_HOUGH_GRADIENT,50, 100, 50,300) 
if cerchi is not None: 
    cerchi = np.round(cerchi[0,:]).astype("int") 
    for (x,y,raggio) in cerchi: 
     cv2.circle(output, (x,y),raggio,(255,0,0),4) 
    cv2.imshow("Image test", np.hstack([image_iride,output])) 
    cv2.waitKey() 

結果は次のとおりです。 http://i.stack.imgur.com/LJOE9.png

答えて

0

代わりに、虹彩の瞳孔を検出するポイントは何ですか?彼らは両方とも目の一部です。ただし、エラーはテストデータ内にあります。

あなたは何千人もの人々の目の写真であると私が推測するテストデータを使用しています。今、あなたのコンピュータはこれらの写真の中に何が入っているかを知ることを学び、あなたの訓練データが完全な目であれば、完全な目を表示します。この欠陥はあなたのコードではなく、あなたのコードがアクセスしているデータにあります。

+0

は今、私は瞳孔の情報を外挿する持っていますが、私は、虹彩の情報を推定する方法がわからない...私の考えでは、1つの二つの円を描くことです瞳孔と1つは外部の虹彩に当たっています...しかし、私は2番目の点を作るためにいくつかの問題があります。私はその写真を6枚使っています... – crisannik

0

あなたは使用することができます。

cerchi = cv2.HoughCircles(image_test, cv2.HOUGH_GRADIENT, 1.3, 800) 
関連する問題