如何快速找到图中的小图块?(11分)

  • 主题发起人 主题发起人 16cy
  • 开始时间 开始时间
1

16cy

Unregistered / Unconfirmed
GUEST, unregistred user!
在一幅图中,有一个小图块(小球),小球的颜色不同于周围环境,有什么好的算法能快速找到小球在这幅图中的位置吗?
 
能不能像取点阵那样呢?
16*16的点阵
每块有固定大小,根据每块的点阵找到他
http://www6.blog.163.com/article/-hhFh00GmwIK.html

Bmp.PixelFormat := pf8bit; Bmp.Width := 16; Bmp.Height := 16; for i := 0 to 15 do for j := 0 to 15 do begin if Canvas.Pixels[i * 10 + 5, j * 10 + 5] = FDotColor then Bmp.Canvas.Pixels[i, j] := clBlack else Bmp.Canvas.Pixels[i, j] := clWhite; end; // for J to do
 
你给我的链接,程序太长了,看不懂,能不能给外简单点的?

还有这个小球并不是单一的某一种颜色,而是好多种颜色组成的。
 
这是个控件,你安装就可以看了。
很多种Color没有什么关系,你可以定义一color数组这容易呀,
只要背竟色是一种能区分的Color就行
 
我知道可以一点一点地扫描像素点,通过颜色来区分,可是这样的话速度慢。
我是想要找一种很快速的方法。
 
通过小球的轮廓或者结点值提取小秋的特征 我的思路是这样的 但是不知道小球是圆的还是椭圆的还是不规则的 不规则的比较难办
 
郁闷。。。
 
Bmp.PixelFormat := pf8bit; 学到一小招 谢谢了!
 
Bmp.PixelFormat := pf8bit; 学到一小招 谢谢了!

这招什么意思,麻烦讲一下。
 
没什么Bmp.PixelFormat := pf8bit;是从jfyes的文章中我学习到一小招

至于你的问题 你最好找找PHOTO SHOP 拨弄一下 看看经过什么样的处理 可以把小球的特征找出来 然后就用编程去实现 我做验证码识别也是这样 有时为了清除某些点 找不到好算法就请教PHOTO SHOP
 
Bmp.PixelFormat := pf8bit;
如果图形的像素格式不同点阵就不同,取出来的是错误的,这个就是刚开始我自己也找不
出来的原因。
 
慢是有一点不过你的图形尺寸有多大,可以问问吕大侠
 
接受答案了.
 
后退
顶部