• opencv图像的膨胀与腐蚀


    main.cpp

    #include <istream>
    #include <opencv2/opencv.hpp>
    
    using namespace cv;
    using namespace std;
    int dilate_size = 1;
    char dilate_title[] = "dilate_dst";
    const char *dilate_bar = "dilate";
    int erode_size = 1;
    char erode_title[] = "erode_dst";
    const char *erode_bar = "dilate";
    Mat src, dilate_dst, erode_dst, dilate_element, erode_element;
    
    void dilate_callback(int position, void *userdata);
    
    void erode_callback(int position, void *userdata);
    
    int main(int argc, char **argv) {
        //    加载图片
        src = imread("../../picture/bg1.webp", 1);
        if (!src.data) {
            printf("No image data \n");
            return -1;
        }
        char src_title[] = "src";
        namedWindow(src_title, WINDOW_AUTOSIZE);
        imshow(src_title, src);
        // 膨胀
        namedWindow(dilate_title, WINDOW_AUTOSIZE);
        createTrackbar(dilate_bar, dilate_title, &dilate_size, 50, dilate_callback);
    
        // 腐蚀
        namedWindow(erode_title, WINDOW_AUTOSIZE);
        createTrackbar(erode_bar, erode_title, &erode_size, 50, erode_callback);
    
        //    等待按键
        waitKey(0);
        return 0;
    }
    
    void dilate_callback(int position, void *userdata) {
        if (position <= 0) {
            position = 1;
        }
        dilate_size = position;
        dilate_element = getStructuringElement(MORPH_RECT, Size(dilate_size, dilate_size));
        dilate(src, dilate_dst, dilate_element);
        imshow(dilate_title, dilate_dst);
    }
    
    void erode_callback(int position, void *userdata) {
        if (position <= 0) {
            position = 1;
        }
        erode_size = position;
        erode_element = getStructuringElement(MORPH_RECT, Size(erode_size, erode_size));
        erode(src, erode_dst, erode_element);
        imshow(erode_title, erode_dst);
    }
    

  • 相关阅读:
    adb 连接小米1S真机调试
    【Docker】容器中找不到vi命令
    【BIEE】导出数据报错
    【SPSS】软件介绍
    【Oracle】查询字段的长度、类型、精度、注释等信息
    【BIRT】使用rptlibrary设置统一数据源
    【Oracle】迁移含有BLOG类型的字段的表
    【Linux】war包的解压与压缩
    【docker】挂载web应用
    【Docker】安装tomcat并部署应用
  • 原文地址:https://www.cnblogs.com/navysummer/p/16313996.html
Copyright © 2020-2023  润新知