opencv 霍夫变换HoughLines

#include<opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
Mat src = imread("wu.jpg");
imshow("yuantu",src);
Mat srcImage,dstImage;
Canny(src,srcImage,50,200,3);
cvtColor(srcImage,dstImage,CV_GRAY2BGR);
vector<Vec2f> lines;
HoughLines(srcImage,lines,1,CV_PI/180,150,0,0);
for(size_t i = 0; i  < lines.size(); i++)
{
float rho = lines[i][0],theta = lines[i][1];
Point p1,p2;
double a = cos(theta),b = sin(theta);
double x0 = a*rho,y0 = b*rho;
p1.x = cvRound(x0+1000*(-b));
p1.y = cvRound(y0 + 1000*a);
p2.x = cvRound(x0 -1000*(-b));
p2.y = cvRound(y0 -1000*a);
line(dstImage,p1,p2,Scalar(55,100,195),1,LINE_AA,0);
}
imshow("xiaoguotu",dstImage);
waitKey(0);
return 0;

}

运行图如下



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值