<opencv>第六课 腐蚀膨胀

1
Mat cv::getStructuringElement(int shape, Size ksize, Point anchor = Point(-1, -1))

返回指定大小和形状的结构元素,用于形态学操作。该函数构造并返回可以进一步传递给腐蚀、扩张或形态学的结构元素。 但是您也可以自己构建任意二进制掩码并将其用作结构元素。

1
void cv::dilate(InputArray src, OutputArray dst, InuputArray kernel, Point anchor = Point(-1, -1), int iterations = 1, int borderType = BORDER_CONSTANT, const Scalar &borderValue = morphologyDefaultBorderValue())

使用特定的结构元素膨胀图像。

1
void cv::erode(InputArray src, OutputArray dst, InuputArray kernel, Point anchor = Point(-1, -1), int iterations = 1, int borderType = BORDER_CONSTANT, const Scalar &borderValue = morphologyDefaultBorderValue())

使用特定的结构元素腐蚀图像。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
    string path = "../lesson1_pictureRead/img1.jpg";
    Mat img = imread(path);
    Mat imgBlur,imgCanny,imgDilate,imgErode;
    GaussianBlur(img, imgBlur, Size(3, 3), 3, 0); //高斯模糊
    Canny(imgBlur, imgCanny, 75, 125); //边缘检测
    Mat kernel = getStructuringElement(MORPH_RECT,Size(3,3));//得到形态学结构的核
    dilate(imgCanny,imgDilate,kernel);
    erode(imgDilate,imgErode,kernel);
    imshow("Image", img);
    imshow("ImageDilation", imgDilate);
    imshow("ImageErode", imgErode);
    waitKey(0);
    return 0;
}


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

<opencv>第六课 腐蚀膨胀
https://hermione20.github.io/2024/10/14/第6课 腐蚀膨胀/
作者
TC
发布于
2024年10月14日
许可协议