关于图像处理中的线选择

春天到了冬天还远吗 2010-03-22 05:34:38
我做个gis类的小型程序
由工程比较小所以不打算用第三方的工具。
工程中有一些直线
对于这些直线的选择,我目前只想到这种方法
先计算所有线的方程
对于线宽为1的线,只需要判断鼠标是否在线上
对于线宽大于的1线,要两个方程,并判断点是否在其之间
当然在计算上还可以优化

每次移动鼠标,都要将鼠标垫与所有的线比较,好像效率比较低
就想问问,有没有更好的方法

现在觉得,用WebBrower+vml+js,或许会好些。。这好像就算用了第三方的控件了
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
red-fly 2010-03-24
  • 打赏
  • 举报
回复
如果是直线,就稍微好办一点,没办法,只有判断鼠标是否在这条直线上,通过上面提到的公式可能好一些。如果是乱七八遭的曲线,那也只好一小段一小段地判断。当然,也许不止这一种方法,可能还有其它方法,比如附加图层也许可以达到一定的目的
  • 打赏
  • 举报
回复
楼上的。。。
矢量的东西没印象,你说的是不是这个意思?
(p.x-q1.x)/(p.y-q1.y)=(q2.x-q1.x)/(q2.y-q1.y)

还不止这么简单。。还得优化。。
线上的每一点并不是绝对的在线上
因为所有值都归整

本来就打算这么做的,还在找其他的方法
副组长 2010-03-23
  • 打赏
  • 举报
回复
这个问题有的研究,不好弄。
我找了一个算法,还没试验。
线段端点为P1、P2,鼠标点位Q(都是矢量)。点在线上的判据是:
1、(Q-P1)X(P2-P1)= 0
2、Q在P1、P2的BOX里面
第一个条件保证点是在线线上,第二个条件是点不在P1、P2的延长线上。

方程的方法不用想了,一些GDI的东西也不行,主要是效率达不到要求。一般都是一个直线情况比较少,GIS里面至少都是PolyLine,一条直线多数情况都画不出一两个像素的长度,鼠标命中一个Polyline要把其中所有的线段都遍历一次。

试试这个?能否可行回个信? :)
red-fly 2010-03-23
  • 打赏
  • 举报
回复
是麻烦,这东西我一直也没有正解

不过,不知道是否可以使用CDC的一些判断点所在的范围的某些函数来达到这个目的
liumenghappy 2010-03-23
  • 打赏
  • 举报
回复
帮顶一下
  • 打赏
  • 举报
回复
悲剧~~
验证码识别 2010-03-23
  • 打赏
  • 举报
回复
up

不会
byxdaz 2010-03-23
  • 打赏
  • 举报
回复
hough找线,求直线方程.网络上有很多类似的资料.

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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