C++ OpenCV 实现二值图像闭合:完善未闭合图形
使用 C++ 和 OpenCV 实现二值图像闭合:完善未闭合图形
以下是使用 C++ 和 OpenCV 实现二值图像闭合的示例代码,用于完善未闭合的图形:
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
// 加载输入图像
Mat inputImage = imread('input.png', IMREAD_GRAYSCALE);
// 将输入图像转换为二进制图像
Mat binaryImage;
threshold(inputImage, binaryImage, 128, 255, THRESH_BINARY);
// 创建用于闭合操作的结构元素
Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5));
// 对二进制图像执行闭合操作
Mat closedImage;
morphologyEx(binaryImage, closedImage, MORPH_CLOSE, kernel);
// 显示结果
imshow('Input Image', inputImage);
imshow('Binary Image', binaryImage);
imshow('Closed Image', closedImage);
waitKey(0);
return 0;
}
在上述代码中,我们首先加载输入图像并将其转换为二进制图像。然后,我们创建一个结构元素,用于执行闭合操作。在这种情况下,我们使用矩形结构元素,大小为 5x5。最后,我们使用 morphologyEx 函数执行闭合操作,并显示结果。
原文地址: https://www.cveoy.top/t/topic/jXeb 著作权归作者所有。请勿转载和采集!