我想查找一个“十”字白色图形的中心,应该怎么算呢?

sosoben 2012-09-05 05:52:43
我有一个摄像头,以及能够截图了,图像是一个黑底上有两个十字光标(较大个,多数时间是没有倾斜的)的图形,亮度一浅一深

我想图像识别,找出两个十字的中心,之后计算其中心的差距。请问应该怎么编程呢?


如果太复杂可以先告诉我一个十字应该怎么识别? 二值化之后我就没想到更好的处理方法了
...全文
423 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
sosoben 2012-09-12
  • 打赏
  • 举报
回复


绿色那些在后台运算的时没有的 ,只是我截图暂时截成这样了
sosoben 2012-09-12
  • 打赏
  • 举报
回复
[img=http://img.my.csdn.net/uploads/201209/12/1347443809_5125.JPG]http://img.my.csdn.net/uploads/201209/12/1347443809_5125.JPG[/img] 。 这个是两个光斑一样亮度的情况,基本上求最亮两点就可以了。但我想做得比较通用的
sosoben 2012-09-12
  • 打赏
  • 举报
回复
http://img.my.csdn.net/uploads/201209/12/1347443809_5125.JPG 。 这个是两个光斑一样亮度的情况,基本上求最亮两点就可以了。但我想做得比较通用的
sosoben 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

结合10、11楼的方法,基本可以排除杂斑。。
[/Quote]

但是45度倾斜的方法。。。。你还没教我哦
sosoben 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

以一个倾斜十字为例试着找了一下中心点,没优化,不知道行不行。

C# code

int centerx = -1;
int centery = -1;
Bitmap bp;
public Form1()
{
InitializeComponent();
}

……
[/Quote]

var cross = colorpoints.OrderByDescending(x => x.Value.Count).Select(y => y.Key).ToArray()[1]
这句不知道什么意思 能解释一下吗?
sosoben 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。
[/Quote]

有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
发个原图过来,我给你写个程序,看着你们太不专业我就急!!!
sosoben 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 的回复:]

引用 17 楼 的回复:
引用 11 楼 的回复:

以一个倾斜十字为例试着找了一下中心点,没优化,不知道行不行。

C# code

int centerx = -1;
int centery = -1;
Bitmap bp;
public Form1()
{
InitializeComponent();
}

……


var cross = color……
[/Quote]


对,我二值化后是有锯齿状边缘的十字 而且只能设一个阈值使较暗的那个十字不显示
lizhibin11 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]
引用 11 楼 的回复:

以一个倾斜十字为例试着找了一下中心点,没优化,不知道行不行。

C# code

int centerx = -1;
int centery = -1;
Bitmap bp;
public Form1()
{
InitializeComponent();
}

……


var cross = colorpoints.OrderByDe……
[/Quote]
那个是倒序排列取颜色集合的索引1所包括的点。按照你的描述,正常情况应该是背景的面积最大,下来是两个不同颜色的十字,那么就应该取索引1和2的点,分别是两个十字。用集合只是为了清晰一些,这个不是太好,可以优化。
进行上述操作的前提是需要将你拍摄的图片去除面积较大的杂色,并且背景和两个十字要变成纯色,我怀疑拍摄的照片中背景和两个十字的颜色可能会因为光照产生渐变,即一个十字并不是单纯的一种颜色。
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]

引用 20 楼 的回复:

引用 16 楼 的回复:

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
关于形心计算问题,代码,请看http://dongtingyue……
[/Quote]回复了好几次了,一直显示不出来....AForge里面有现成的代码,你百度一下,直接调用,我当时做的是行人流量自动检测,用到了这个,整个工程测试为25帧/S,实时性完全可以!!!
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]

引用 20 楼 的回复:

引用 16 楼 的回复:

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
关于形心计算问题,代码,请看http://dongtingyue……
[/Quote]回复了好几次了,一直显示不出来....AForge里面有现成的代码,你百度一下,直接调用,我当时做的是行人流量自动检测,用到了这个,整个工程测试为25帧/S,实时性完全可以!!!
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
AFORGE里面有,你百度一下,下载了,直接可以调用,我当时做的是行人流量检测,用到了连通域判断,整个工程测试为25帧每秒,实时性完全可以!!![Quote=引用 21 楼 的回复:]

引用 20 楼 的回复:

引用 16 楼 的回复:

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
关于形心计算问题,代码,请看http://dongtingyue……
[/Quote]
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
AFORGE里面有,你百度一下,下载了,直接可以调用,我当时做的是行人流量检测,用到了连通域判断,整个工程测试为25帧每秒,实时性完全可以!!![Quote=引用 21 楼 的回复:]

引用 20 楼 的回复:

引用 16 楼 的回复:

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
关于形心计算问题,代码,请看http://dongtingyue……
[/Quote]
sosoben 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]

引用 16 楼 的回复:

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
关于形心计算问题,代码,请看http://dongtingyueh.blog.163.com/bl……
[/Quote]


连通域呢??
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
[/Quote]关于形心计算问题,代码,请看http://dongtingyueh.blog.163.com/blog/static/46194532011427105715472/
http://dongtingyueh.blog.163.com/blog/static/461945320126238303158/
Trent1985 2012-09-10
  • 打赏
  • 举报
回复
我当时做的是行人流量实时检测,用到了连通域算法,整个工程运行测试每秒25帧,没问题!![Quote=引用 16 楼 的回复:]

引用 15 楼 的回复:

你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。


有没有连通域判断的代码示例啊,速度怎么样啊? 型心的意思是正方形的中心吗?
[/Quote]
Trent1985 2012-09-08
  • 打赏
  • 举报
回复
你这个太简单了,直接用连通域判断,黑色框内白色区域的连通域,直接可以拿到十字中间的白色区域,然后计算形心就OK了,本人上学的时候就做过了。
Conmajia 2012-09-08
  • 打赏
  • 举报
回复
结合10、11楼的方法,基本可以排除杂斑。。
lizhibin11 2012-09-08
  • 打赏
  • 举报
回复
直接用估计不行,我用PowerPoint画的图,本应该只有黑白两种颜色,保存成图片后还是出现了五种。你用摄像头拍的照片估计杂色就更多了,得先降噪。否则万一不知道哪儿跑出一个小小的和十字一样的像素就谬以千里了。
sosoben 2012-09-08
  • 打赏
  • 举报
回复
非常好,我试试先。 等等再加分
加载更多回复(11)

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧