c++ opencv直线检测

 

复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int main(int argc, char** argv)
{
    // 读取图像
    Mat src = imread(argv[1], CV_LOAD_IMAGE_COLOR);
    if(!src.data) {
        printf("Could not open or find the image\n");
        return -1;
    }

    // 转为灰度图
    Mat gray;
    cvtColor(src, gray, CV_BGR2GRAY);

    // 使用Canny边缘检测
    Mat edges;
    Canny(gray, edges, 50, 200, 3);

    // 使用Hough变换检测直线
    vector<Vec4i> lines;
    HoughLinesP(edges, lines, 1, CV_PI/180, 100, 30, 10, 0);

    // 在原图上画出检测到的直线
    for( size_t i = 0; i < lines.size(); i++ )
    {
        Vec4i l = lines[i];
        line( src, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
    }

    // 显示结果图像
    namedWindow("Source Image", CV_WINDOW_AUTOSIZE);
    namedWindow("Detected Lines", CV_WINDOW_AUTOSIZE);
    imshow("Source Image", src);
    imshow("Detected Lines", edges);

    waitKey();
    return 0;
}
复制代码

 

 

##

posted @   西北逍遥  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2023-01-12 ifc4x3介绍
2022-01-12 python读取shp文件属性值
2021-01-12 ubuntu大服务器 pytorch环境配置
2021-01-12 condarc内容
2021-01-12 realsense point cloud
2021-01-12 yolov5 环境配置
2021-01-12 pip error
点击右上角即可分享
微信分享提示