opencv 学习笔记3.2 腐蚀与膨胀 开运算和闭运算 礼帽和黑帽 之间的关系

应用场景:

腐蚀操作常用于降噪、滤除掉一些斑点和线条;

膨胀操作常用于图片补全;

两者经常结合操作:即开运算与闭运算

开运算 = 腐蚀--->膨胀

闭运算 = 膨胀--->腐蚀

礼帽和黑帽:

礼帽 = 原图 - 开运算所得图片;(可得到一些细小的部分,即斑点和线条)

黑帽 = 原图 - 闭运算所得图片;(可得到细小遗漏部分,即斑点和线条中间的遗漏部分)

程序源码:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <stdio.h>

using namespace cv;
using namespace std;               


RNG rng(12345);
Scalar color[7] = {
    (Scalar(0,0,255)),//红色
    (Scalar(0,255,0)),//绿色
    (Scalar(255,0,0)),//蓝色
    (Scalar(255,255,0)),//浅蓝色
    (Scalar(255,0,255)),//紫色
    (Scalar(0,255,255)),//黄色
    (Scalar(128,128,192)),//浅粉色
};
int main()
{
    Mat image,corrosion_img,expansion_img,open_img,close_img,tophat_img,blackhat_img;

    image = imread("../finger.jpg", 1);
    if (image.empty()) {
        cout << "无此图片" << endl;
        return 0;
    }

    while (1) 
    {
        imshow("原图", image);
        waitKey(1);
//腐蚀操作
        Mat element = getStructuringElement(MORPH_CROSS, Size(6, 6), Point(-1, -1));//Size(6, 6)内核等级
        erode(image, corrosion_img, element);
        imshow("腐蚀", corrosion_img);
        waitKey(1);
//膨胀操作
        dilate(image, expansion_img, element);
        imshow("膨胀", expansion_img);
        waitKey(1);
//开运算
        morphologyEx(image, open_img, MORPH_OPEN, element);
        imshow("开运算", open_img);
        waitKey(1);
//闭运算
        morphologyEx(image, close_img, MORPH_OPEN, element);
        imshow("闭运算", close_img);
        waitKey(1);
//礼帽
        morphologyEx(image, tophat_img, MORPH_TOPHAT, element);
        imshow("礼帽", tophat_img);
        waitKey(1);
//黑帽
        morphologyEx(image, blackhat_img, MORPH_BLACKHAT, element);
        imshow("黑帽", blackhat_img);
        waitKey(1);
    }
    return 1;
}

图片:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐梦者-未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值