博客
关于我
opencv19-霍夫直线变化
阅读量:792 次
发布时间:2023-02-23

本文共 1341 字,大约阅读时间需要 4 分钟。

OpenCV图像处理示例

以下是使用OpenCV库进行图像处理的示例代码,主要功能包括读取图像、边缘检测、颜色空间转换以及直线检测。

代码概述

该程序首先读取输入图像,进行边缘检测(Canny算法),然后将图像转换为灰度色彩空间,接着使用Hough线检测算法绘制图像中的直线。

代码实现

以下是完整的代码实现:

```cpp#include
#include
#include
#include
using namespace std;using namespace cv;char *output_title = "output Image";Mat src, canny_dst, gray_image, dst;int main() { src = imread("E:\\vs2015\\opencvstudy\\1.jpg", 1); if (src.empty()) { cout << "could not load the src image!" << endl; return -1; } imshow("input Image", src); Canny(src, canny_dst, 150, 200); cvtColor(canny_dst, gray_image, CV_GRAY2BGR); gray_image = Mat::zeros(gray_image.size(), gray_image.type()); imshow("canny", canny_dst); vector
plines; HoughLinesP(canny_dst, plines, 1, CV_PI / 180.0, 500, 100, 10); Scalar color = Scalar(0, 0, 255); for (size_t i = 0; i < plines.size(); i++) { Vec4f hline = plines[i]; line(gray_image, Point(hline[0], hline[1]), Point(hline[2], hline[3]), color, 3, LINE_AA); } imshow("dst", gray_image); waitKey(0); return 0;}

功能说明

1. 读取图像:使用`imread`函数读取输入图像文件。

2. 边缘检测:使用Canny算法进行边缘检测,参数设置为高阈值200和低阈值150。

3. 颜色空间转换:将检测到的边缘图像从色彩空间BGR转换为灰度色彩空间GRAY。

4. 直线检测:使用Hough线检测算法识别图像中的直线,并绘制到灰度图像上。

输出结果

程序会自动显示处理后的图像,并在终端输出结果。用户可以按任意键退出程序。

```

转载地址:http://ymsfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现阿特巴希密算法(附完整源码)
查看>>
Objective-C实现随机图生成器算法(附完整源码)
查看>>
Objective-C实现随机数生成器(附完整源码)
查看>>
Objective-C实现随机森林算法(附完整源码)
查看>>
Objective-C实现随机正态分布快速排序算法(附完整源码)
查看>>
Objective-C实现随机生成一个 RxC 列联表(附完整源码)
查看>>
Objective-C实现隐藏任务栏(附完整源码)
查看>>
Objective-C实现隔离数字的小数部分, 取这个数字并从底数中减去它,返回结果算法(附完整源码)
查看>>
Objective-C实现雅可比迭代法算法(附完整源码)
查看>>
Objective-C实现雪花算法(附完整源码)
查看>>
Objective-C实现雪花飘落效果(附完整源码)
查看>>
Objective-C实现霍纳法则(附完整源码)
查看>>
Objective-C实现非丰富数之和算法(附完整源码)
查看>>
Objective-C实现非并行奇偶转置排序算法(附完整源码)
查看>>
Objective-C实现香农编码(附完整源码)
查看>>
Objective-C实现骑士旅游算法(附完整源码)
查看>>
Objective-C实现骑士旅游算法(附完整源码)
查看>>
Objective-C实现高斯-赛德尔迭代算法(附完整算法)
查看>>
Objective-C实现高斯消元法(附完整源码)
查看>>
Objective-C实现高斯消元法(附完整源码)
查看>>