本文共 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/