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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章