opencv c++ 先腐蚀再膨胀
时间: 2023-06-28 10:07:42 浏览: 117
OpenCV实现图像腐蚀与膨胀综合示例(C++实现).zip
5星 · 资源好评率100%
在 OpenCV C++ 中,可以使用 `erode()` 和 `dilate()` 函数来进行腐蚀和膨胀操作。可以按照以下步骤进行先腐蚀再膨胀的操作:
1. 定义结构元素 `Mat kernel`,也可以使用 `getStructuringElement()` 函数来创建结构元素。
2. 使用 `erode()` 函数对图像进行腐蚀操作,其中第一个参数为输入图像,第二个参数为输出图像,第三个参数为结构元素。
3. 使用 `dilate()` 函数对腐蚀后的图像进行膨胀操作,其中第一个参数为输入图像,第二个参数为输出图像,第三个参数为结构元素。
以下是代码示例:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("example.jpg", IMREAD_GRAYSCALE);
// 定义结构元素
int kernel_size = 5;
Mat kernel = getStructuringElement(MORPH_RECT, Size(kernel_size, kernel_size));
// 先腐蚀再膨胀
Mat eroded_img, dilated_img;
erode(img, eroded_img, kernel);
dilate(eroded_img, dilated_img, kernel);
// 显示结果
imshow("Original Image", img);
imshow("Eroded Image", eroded_img);
imshow("Dilated Image", dilated_img);
waitKey(0);
return 0;
}
```
阅读全文