图像处理应用程序-实现人数 [英] image processing application-implementing a headcount

查看:86
本文介绍了图像处理应用程序-实现人数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要执行给定图像的人数.我的想法是:

1)识别圆形物体
o我们将从边缘检测开始,以找到每种形状的边界线.
按像素对图像矩阵进行排序
对于每个像素,分析其周围的8个像素中的每一个
记录最暗像素和最亮像素的值
如果(darkest_pixel_value-lightest_pixel_value)>阈值)
然后将该像素重写为1;
否则将该像素重写为0;
o现在我们检测形状
计算连续边的数量
线方向的急剧变化表示不同的线
通过确定相邻像素之间的平均矢量来做到这一点
如果是一条线,则为一个圆
通过测量线之间的角度,可以推断出更多信息(菱形,等边三角形等)
2)人脸检测
这部分包括基于特征和颜色的两种常用方法.该算法的基本思想是找到类似于眼睛的对象,然后根据几何脸部特征尝试将两个对象合并为一对眼睛.
步骤:
1)从图像中消除了不重要的颜色,并将不重要的颜色替换为白色.
2)然后将图像转换为灰度.
3)使用中值滤镜过滤图像(不重要的白色区域模糊)
4)使用区域增长算法对白色区域进行分割.
5)应用Hough变换查找圆
6)对于每个区域,找到最好的圆
7)使用几何脸部特征找到双眼

我必须使用opencv来实现这一点.我可以使用哪种语言集成opencv来完成此任务? (例如java + opencv或vb.net + opencv),考虑到接口问题,哪个更易于实现?
谢谢

i need to perform a headcount given an image. my idea is:

1) Identification of circular objects
o We will start by edge detection to find border line of each shape.
sort through the image matrix pixel by pixel
for each pixel, analyze each of the 8 pixels surrounding it
record the value of the darkest pixel, and the lightest pixel
if (darkest_pixel_value - lightest_pixel_value) > threshold)
then rewrite that pixel as 1;
else rewrite that pixel as 0;
o Now we detect shapes
count the number of continuous edges
a sharp change in line direction signifies a different line
do this by determining the average vector between adjacent pixels
if one line, then its a circle
by measure angles between lines more information can be deduced (rhomboid, equilateral triangle, etc.)
2) Face detection
This part includes two common approaches based on features and color. The basic idea of the algorithm is to find objects resembling an eye, then on the basis of geometric face characteristics try to join two the objects into an eye pair.
Steps:
1) Unimportant colors are eliminated from the image and insignificant colors are replaced with white color.
2) The image is then converted to grayscale.
3) The image is filtered with a median filter (unimportant white regions are blurred)
4) White regions are segmented using a Region growth algorithm.
5) Hough transform is applied to find circles
6) For each region the best possible circle is found
7) Using geometric face characteristics the pair of eyes is found

i must use opencv to implement this. with which language can i integrate opencv for this task? (e.g. java + opencv or vb.net +opencv) which one will be easier to implement considering interface issues as well?
Thanks

推荐答案

Java和.net都具有OpenCV的包装器.

因此,问题实际上是您更喜欢使用哪种语言.
Both Java and .net have wrappers for OpenCV.

So the question is really which language you are more comfortable working in.


看看:
http://en.wikipedia.org/wiki/Face_detection [
Take a look at:
http://en.wikipedia.org/wiki/Face_detection[^]

There are some papers at the bottom that should be of some help on how you can proceed with this.

Best regards
Espen Harlinn


这篇关于图像处理应用程序-实现人数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆