项目中使用到需要判断两个矩形是否相交,由于我使用Halcon不久,对其算子还不熟悉,不知道是否有现成的算子可以直接实现,如果有,还请各位朋友给留言指出,先谢谢了,我这里用了如下的方法。
1、如果两个矩形相交,那么它们中的线段一定会有相交的,我下面写了判断线段相交的函数:
C++代码
void CrossLine (HTuple hv_left, HTuple hv_right, HTuple hv_y, HTuple hv_top, HTuple hv_bottom, HTuple hv_x, HTuple hv_minDis, HTuple *hv_isCross)
{
// Local iconic variables
(*hv_isCross) = 0;
if (0 != (HTuple(hv_top<=(hv_y+hv_minDis)).TupleAnd(hv_bottom>=(hv_y-hv_minDis))))
{
if (0 != (HTuple(hv_left<=(hv_x+hv_minDis)).TupleAnd(hv_right>=(hv_x-hv_minDis))))
{
(*hv_isCross)