python无法对存在交叉部分的图片进行识别_如何使用opencv或python检测2条相交(交叉)的曲线?...

double distance_to_Line(cv::Pointline_start,cv::Pointline_end,cv::Pointpoint){double normalLength=_hypot(line_end.x-line_start.x,line_end.y-line_start.y);double distance=(double)((point.x-line_start.x)*(line_end.y-line_start.y)-(point.y-line_start.y)*(line_end.x-line_start.x))/normalLength;returnabs(distance);}int main(){cv::Matin=cv::imread("C:/StackOverflow/Input/splitCurves.png",cv::IMREAD_GRAYSCALE);std::vector<:vector>>clusters;float maxDist=10.0f;//heuristic//looping like thisisquite expensive,but we need to scan column-wise//will be cheaper to first transpose the imageandthen scan row-wise!!for(int x=0;x(y,x)==0;//isthe pixel black?if(cActive){cCluster+=cPoint;cClusterSupportSize+=1;active=cActive;}if(active&&!cActive){//creating cluster:cv::Point2ffinishedCluster=1.0f/cClusterSupportSize*cCluster;cCluster=cv::Point2f();cClusterSupportSize=0;active=false;//adding cluster to listint bestCluster=-1;float bestDist=FLT_MAX;for(int i=0;inewCluster;newCluster.push_back(finishedCluster);clusters.push_back(newCluster);}else{clusters[bestCluster].push_back(finishedCluster);}}}}cv::Matout;cv::cvtColor(in,out,cv::COLOR_GRAY2BGR);for(int i=0;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值