OpenCV-腐蚀与膨胀

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int element_size = 1;
int max_size = 21;
Mat src;

//拖动条回调
void trackbarCallback(int pos, void* userdata) {
    int size = pos * 2 + 1;
    Mat kernel = getStructuringElement(MORPH_RECT, Size(size, size));
    Mat dst;
    // 1.腐蚀  取最小值 如果是黑白图片腐蚀会去掉白色噪点
    //erode(src, dst, kernel);
    // 2.膨胀  取最大值 如果是黑白图片腐蚀会去掉黑色噪点
    dilate(src, dst, kernel);

    imshow("output_img", dst);
}
int main() {
    // 1.读取一张图片 
    src = imread("D:/opencv/test/test.jpeg");

    // 2.将一张图片写入一个文件
    imwrite("D:/opencv/test/copy.jpeg", src);

    // 3.显示图片
    imshow("src", src);

    namedWindow("output_img");

    // 创建trackbar
    createTrackbar("trackbar", "output_img", &element_size, max_size, trackbarCallback);

    waitKey(0);
    return 0;
}

腐蚀效果

image.png

膨胀效果

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容