我正在尝试使用Python进行图像处理。
我的目标是识别人脸或检测圆形(基本上是人脸),而我手头有一张带有人类的图片。
到目前为止,我已经完成了以下事情:
1. 使用Sobel边缘检测对图像进行了边缘检测。 2. 然后将图像转换为二进制图像,保存二进制图像并打印出图像的数组,它是0或255(黑白)。 3. 现在我很困惑,在这之后,我该怎么做才能检测图像中的圆形,并打印出图像中的人数。 4. 我正在使用静态图片,因此我正在为图像提供输入。
我使用的工具包括Python、PIL、NumPy和SciPy。我不想使用OpenCV来检测人脸,并计算图像中的人数并打印出人数。
1. 使用Sobel边缘检测对图像进行了边缘检测。 2. 然后将图像转换为二进制图像,保存二进制图像并打印出图像的数组,它是0或255(黑白)。 3. 现在我很困惑,在这之后,我该怎么做才能检测图像中的圆形,并打印出图像中的人数。 4. 我正在使用静态图片,因此我正在为图像提供输入。
我使用的工具包括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)
上面的代码不是我写的,我从网上找到的。
我也在其他论坛上问过这个问题。这里