【第五课:C++和opencv】腐蚀处理图像

 腐蚀
对Z中的集合A和B,B对A进行腐蚀的整个过程如下: 
⑴ 用结构元素B,扫描图像A的每一个像素
⑵ 用结构元素与其覆盖的二值图像做“与”操作
⑶ 如果都为1,结果图像的该像素为1。否则为0
腐蚀处理的结果是使原来的二值图像减小一圈。

要看具体的腐蚀内容和讲解,请戳我

自己看,不说了,代码如下:
// 腐蚀处理Cplusplus.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "opencv2/opencv.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	//read image
	Mat image;
	image= imread("F://Opencv_picture//45.jpg");
	if(image.empty())   // ==if(!image.data)   
	{
	     cout<<"Cannot open or find image"<<endl;
		 return -1;
	}
	//Create two window 
	namedWindow("Original image");
	namedWindow("Eroded image");
	// show oriuginal image
	imshow("Original image", image);
    //Erode 
    erode(image, image, Mat(), Point(-1, -1), 2);
	//erode(image, image, Mat());  // ==erode(iamge, image, Mat(), Point(-1, -1), 1);

	//display image
	imshow("Eroded image", image);
    //wait untill user press any key 
	waitKey(0 );
	return 0;
}

结果图:

     图片分析:腐蚀后,变小了吧
************************************************************
函数简介:
   C++: void gpu::erode(const GpuMat& src, GpuMat& dst, const Mat& kernel, Point anchor=Point(-1, -1),
int iterations=1 )
使用erode函数时,可以省略一些参数
rode(image, image, Mat());  == erode(iamge, image, Mat(), Point(-1, -1), 1);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值