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

来源:互联网 发布:python os模块的作用 编辑:程序博客网 时间:2024/05/21 06:24

 腐蚀
对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 imageMat 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 imageimshow("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 imageimshow("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);



原创粉丝点击