opencv 霍夫直线变换

#include <iostream>
#include <opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <vector>
#include "Graph.h"
using namespace std;
using namespace cv;

int main()
{
	Mat srcImg = imread("line.jpg");
	Mat dstImg, edgeImg;
	if (srcImg.empty())
	{
		cout << "Image load failed" << endl;
		return -1;
	}
	cvtColor(srcImg, dstImg, COLOR_BGR2GRAY);
	GaussianBlur(srcImg, dstImg, Size(3, 3), 0, 0, BORDER_DEFAULT);
	Canny(dstImg, edgeImg, 100, 200, 3, false);
	vector<Vec4f> pline;
	HoughLinesP(edgeImg, pline, 1, CV_PI / 180, 10, 0, 0);
	for (int i = 0; i < pline.size(); i++)
	{
		Vec4f pl = pline[i];
		line(srcImg, Point(pl[0], pl[1]), Point(pl[2], pl[3]), Scalar(0, 0, 255), 1, 8);
	}
	return 0;
}
发布了118 篇原创文章 · 获赞 22 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/sinat_28826891/article/details/105145606