任何人都可以解释这个代码背后的逻辑吗?
pt1.x = cvRound(x0 + 1000*(-b));
pt1.y = cvRound(y0 + 1000*(a));
pt2.x = cvRound(x0 - 1000*(-b));
pt2.y = cvRound(y0 - 1000*(a));
答案 0 :(得分:2)
您有一个由x0, y0
定义的点。您现在正在创建另外两个点对象,一个位于(-b*1000, a*1000)
,一个位于(b*1000, -a*1000)
相对于原点。推测1000
可能会解决比例问题,因为值a
和b
与点x0, y0
的比例不同。
答案 1 :(得分:1)
看起来a
和b
是用于在一个方向(向内或向外)移动pt1
而在相反方向移动pt2
的阈值。
也许它们被用于增加/减少矩形区域以进行边界检查?