图像处理问题,高手请进,不是高手欢迎讨论 (300分)

  • 主题发起人 主题发起人 NetBird
  • 开始时间 开始时间
N

NetBird

Unregistered / Unconfirmed
GUEST, unregistred user!
老板让我做一个图像处理系统,思路是这样的:有一张纸,上面划分了几个区域,在处理
之前,先采集它的一副图像备用,然后用铅笔在纸上的任意一个位置穿一个圆孔,再采集
它的一副图像,根据这两副图像:
1、怎样得知图像已经被穿了孔
2、在得知图像被穿了孔之后,如何判断穿孔的区域
 
穿多个孔?
定义一个数据结构。
包含
pos : TPoint;//孔的原点
iL : integer;//孔的半径
每点一个就记录一个。

通过原点半径,得到区域。
有了这个数据结构,判断区域就不难了。
 
如果两个孔相交怎么判断?另外,区域并不是圆的
还有其它方法吗?
 
1. XOR运算
2 (见上)
 
1 异或后
if 全黑 then 没穿孔
else 穿孔了
 
是矢量图,还是位图?
位图用上面所说的XOR方法就可以了。
矢量图就要看你用什么样的格式或数据结构来存储图形了
 
Oh,数学!!!!????
 
用hough变换检测园
 
1 异或!
2 将所有异或得到的不同点收集起来的区域!
 
Ellipse??
记录四个点,top,left,bottom,right
 
1.二值化,通过XOR运算检测图像是否有改变
2.若有,通过霍夫变换检测圆
 
现在我已经能使计算机判断纸上是否穿了孔,现在的问题是怎样判断孔在哪个区域内
 
这个好说,看横纵坐标,在点的横坐标上画一个垂直的直线,找到上下两个与孔最近的交点
在用同样的办法找到最近的左右交点,用四个(其实三个就够)确定区域。
 
我还以为是什么问题,我毕业设计做的是数字图像处理,这个问题通过简单的图像
代数运算就可以了,或者是XOR,或者是两副图像相减(最好是转换为黑白图像),
然后对结果进行判断,选个合适阀值,最后找到有数据的区域,因为孔的位置上才
有图像变化所以那一地方的数据不为零,然后横竖一行一行的扫呗!找到上下左右
中心和半径不都出来了?
 
既然是讨论,我给问题加加料----

问题是副图跟主图不相同怎么办?
这是实际情况来的,副图先采集了,在穿洞后再采集,谁能保证主图没穿洞的
地方跟原来的副图一一对应,不如发生位移。
 
管它是什么图形全部做流处理,比较两个刘里的数据有什么不同(不同自然就是被穿孔了吗)
过滤出不同的数据(重新生成一副临时位图,相同的用一种颜色填充,不同的就用穿孔部位的颜色填充),
对临时位图的分析应该比较简单了吧
(只是思路而已,也许对你有所帮助)
 
希望继续讨论
 
虽然问题没有解决,也只能这样了,分了吧
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部