Pythonで画像処理をしようとしています。私が実際にやりたいのは、人間のイメージを持っていることです。人間の顔を識別したり、円(基本的には人間の顔)を検出したりする必要があります。私がこれまでにしたこと
ソーベルエッジ検出を使用して画像のエッジ検出を行いました。
次に、画像をバイナリ画像に変換しました。これにより、バイナリ画像が保存され、0または255(白黒)の画像の配列が印刷されます。
さて、この後私が混乱しているのは、画像内の円を検出し、画像内に存在する人間の数を印刷するために何ができるかです。
静止画を使用しているので、画像の入力をします
Python、PIL、NumPy、SciPyを使用しています。OpenCVを使いたくない。人間の顔を検出し、画像に写っている人物の数を数えてから、画像に写っている人物の数を印刷したいと思います。
import numpy
import scipy
from scipy import ndimage
im = scipy.misc.imread('test5.jpg')
im = im.astype('int32')
dx = ndimage.sobel(im, 0) # horizontal derivative
dy = ndimage.sobel(im, 1) # vertical derivative
mag = numpy.hypot(dx, dy) # magnitude
mag *= 255.0 / numpy.max(mag) # normalize (Q&D)
scipy.misc.imsave('sobel.jpg', mag)
上記のコードは私のものではなく、オンラインから入手したものです。
他のフォーラムでもこの質問をしました。ここ