opencv膨胀腐蚀
时间: 2023-08-28 22:08:26 浏览: 53
膨胀和腐蚀是图像处理中常用的操作,可以通过OpenCV的相关API来实现。膨胀操作可以将图像中的亮区域扩张,而腐蚀操作可以将图像中的暗区域缩小。
在OpenCV中,可以使用函数cv::dilate来实现膨胀操作。该函数的参数包括输入图像、输出图像、膨胀的结构单元、锚点位置、膨胀的次数等。其中,结构单元可以是一个自定义的矩形,也可以使用函数getStructuringElement创建。
以下是一个实现膨胀和腐蚀的代码示例:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image1 = imread("F:/photo/qx.jpg", 1);
namedWindow("input_picture1");
imshow("input_picture1", image1);
Mat image2;
Mat image3;
cvtColor(image1, image2, COLOR_RGB2GRAY);
namedWindow("input_picture2");
imshow("input_picture2", image2);
threshold(image2, image3, 65, 255, THRESH_BINARY);
namedWindow("input_picture3");
imshow("input_picture3", image3);
Mat eroded;
erode(image3, eroded, Mat());
namedWindow("erode");
imshow("erode", eroded);
Mat dilated;
dilate(image3, dilated, Mat());
namedWindow("dilate");
imshow("dilate", dilated);
waitKey(0);
return 0;
}
```
上述代码中,首先读取一张图像,并将其转换为灰度图像。然后通过阈值处理得到二值图像。接下来,分别对二值图像进行腐蚀和膨胀操作,并显示处理结果。可以根据实际需要调整参数和操作顺序。
希望对你有帮助!如果有更多问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [13、OpenCV形态学操作——膨胀与腐蚀](https://blog.csdn.net/phinoo/article/details/113105119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [OpenCV图像处理学习十,图像的形态学操作——膨胀腐蚀](https://blog.csdn.net/weixin_44651073/article/details/126321876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]