gpt4 book ai didi

c++ - 如何使用 opencv 在图像上添加边缘?

转载 作者:搜寻专家 更新时间:2023-10-31 01:04:06 24 4
gpt4 key购买 nike

我在 C++ 中使用 opencv,我有一个包含一个对象的二进制图像(图像 1)。

我想在图像的顶部、左侧、右侧和底部添加像素(图像 3),因为我使用 Zhang-Suen 算法(图像 2)获取对象的骨架,并添加顶部、左侧、右侧的像素, 然后向下修复图像 2 中可见的错误,如何在边缘添加 5 px??。

imagen

我想将 image1 转换为 image3。

最佳答案

输入图像:

enter image description here

// Load input image
cv::Mat input = cv::imread("zero.png");
if (input.empty())
{
std::cout << "!!! Failed imread\n";
return -1;
}

// Create a larger output image to store the end result
cv::Mat output(input.rows+10, input.cols+10, input.type(), cv::Scalar(0));

// Specify the size of the copy and its offset
cv::Rect offset_rect = cv::Rect(5, 5, input.cols, input.rows);

// Copy to the output Mat
input.copyTo(output(offset_rect));

//cv::imwrite("output.png", output);

输出图像:

enter image description here

此技术之前已被 described here .

关于c++ - 如何使用 opencv 在图像上添加边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com