gpt4 book ai didi

c++ - 你如何摆脱在 opencv c++ 中裁剪图像后留下的空白间隙?

转载 作者:行者123 更新时间:2023-11-28 05:04:50 27 4
gpt4 key购买 nike

我正在编写一个程序来分析图片并在图片中的某个对象周围裁剪它们。该程序很好地裁剪了图像,但在侧面留下了奇怪的空白。

我从这个问题的批准答案中复制了代码: Opencv c++ detect and crop white region on image

我开始使用的图像在更大的 Canvas 上看起来像这样。我得到了这个结果,但我想去掉左侧多余的空白区域,以便裁剪得非常靠近手机壳。如果您在新选项卡中打开图像,可以更好地看到它。

请帮忙。我在 Visual Studio 2015 中使用 opencv 和 c++。

Result

最佳答案

由于salt-and-pepper noise,这张图片没有被正确裁剪.要摆脱它,您可以使用 median blur .您可以使用模糊图像填充非黑名单并使用此列表正确裁剪原始图像。由于噪点出现后图像似乎被稍微放大了,您可能应该尝试使用至少 5 的光圈大小来完全消除噪点。

cv::Mat in = cv::imread("CropWhite.jpg");
cv::Mat blurred;
cv::medianBlur(in, blurred, 5);

...

if(blurred.at<cv::Vec3b>(j,i) != cv::Vec3b(255,255,255))
{
nonBlackList.push_back(cv::Point(i,j));
}

关于c++ - 你如何摆脱在 opencv c++ 中裁剪图像后留下的空白间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45090283/

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