c++图像腐蚀操作

图像腐蚀操作

cv::getStructuringElement 是 OpenCV 中用于创建形态学操作(如腐蚀、膨胀、开运算、闭运算等)所需的结构元素的函数。结构元素通常用于图像处理中的形态学操作,以便处理二值图像或灰度图像。结构元素可以是各种形状,如矩形、椭圆、十字形等。

以下是 cv::getStructuringElement 的一般形式:

cv::Mat getStructuringElement(int shape, cv::Size ksize, cv::Point anchor = cv::Point(-1,-1));
  • shape 参数指定了结构元素的形状,通常是以下之一:
    • cv::MORPH_RECT:矩形结构元素。
    • cv::MORPH_ELLIPSE:椭圆结构元素。
    • cv::MORPH_CROSS:十字形结构元素。
  • ksize 参数指定了结构元素的大小(宽度和高度),通常使用 cv::Size 类型表示。
  • anchor 参数指定了结构元素的锚点位置,通常是 cv::Point 类型表示。默认值为 (-1, -1),表示将锚点设置为结构元素的中心。

例如,你可以使用 cv::getStructuringElement 来创建一个矩形结构元素:

cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3));

这个示例中,kernel 是一个3x3的矩形结构元素,用于形态学操作。

你可以根据需要选择不同形状和大小的结构元素,并将它们用于腐蚀、膨胀、开运算、闭运算等图像处理任务。结构元素的选择对形态学操作的效果产生重要影响。

#include 
#include 
#include 
#include 

using namespace std;
using namespace cv;
#include 
#include 
using namespace cv; //包含cv命名空间
int main()// 控制台应用程序的入口函数, 我们的程序从这里开始
{
	//载入原图
	Mat srcImage = imread("2.jpg");
	//显示原图
	imshow("【原图】腐蚀操作", srcImage);
	//进行腐蚀操作
	Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
	Mat dstImage;
	erode(srcImage, dstImage, element);
	//显示效果图
	imshow("【效果图】腐蚀操作", dstImage);
	waitKey(0);
	return 0;
}

你可能感兴趣的:(#,C++视觉处理,c++,opencv,计算机视觉)