#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat srcImage = imread("C:/Users/hasee-pc/Desktop/women.jpg");
Mat midImage, dstImage;
Canny(srcImage, midImage, 50, 200, 3);
cvtColor(midImage, dstImage, COLOR_GRAY2BGR);
vector<Vec4i>lines;
HoughLinesP(midImage,//输入,单通道八位二进制
lines,//线条输出矢量
1, //搜索尺寸半径,像素为单位
CV_PI / 180,//搜索尺寸单位角度,弧度单位
80,//累加平面阈值
50,//最低线段长度
10//同一行点连接起来的最大的距离
);
for (size_t i = 0; i < lines.size(); ++i)
{
Vec4i l = lines[i];
line(dstImage, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(184, 66, 277),1,LINE_AA);
}
imshow("【原始图】", srcImage);
imshow("【边缘检测】", midImage);
imshow("【效果图】", dstImage);
waitKey(0);
return 0;
}