gpt4 book ai didi

python - 裁剪不需要的图像黑色空间

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:58 24 4
gpt4 key购买 nike

我有一组灰度图像,如下所示:

enter image description here

这是示例图片,因为我无法发布原始图片。每个图像都有一个带有纹理的区域、一个纯白色水印 (pos) 和许多不需要的黑色空间。

理想情况下,应将此图像裁剪为:

enter image description here

每个图像中的水印可能略有不同,但始终是非常细的纯白色文本。

图片可能看起来很不一样,这是另一个例子

enter image description here

这个只需要在左边裁剪

enter image description here

另一个:

enter image description here

这个需要在顶部和底部裁剪:

enter image description here

还有一个

enter image description here

这个需要在顶部和右侧裁剪。请注意,我在这张图片中留下了水印。理想情况下,水印也会被删除,但我想没有水印会更容易。

这是水印在现实中的样子。

enter image description here

图片大小不一,但通常都很大(超过 2000x2000)。

我正在寻找 python 中的解决方案(可能是 cv2)。

我的第一个想法是使用这样的东西: Python & OpenCV: Second largest object

但是这个解决方案代码对我来说失败了

最佳答案

我在 C# 和 C++ 中工作,不在 python 中工作,但可以向您建议逻辑。

您需要对图像进行两次扫描,一行扫描,另一列扫描。

既然你说图像不需要的部分总是黑色的,那么只需读取两次扫描中的像素值即可。如果某一行中所有像素的颜色都是黑色,那么您可以删除或删除该行。列扫描可以遵循类似的步骤。

现在我们不能简单地删除行和列,所以只需记下多余的行和列,然后您可以使用以下代码裁剪图像:(我将使用 emgucv 库在 C# 中编写代码,但它很容易理解对于 python)

Mat original_image = new Mat();
Rect ROI = new Rect(x,y,width,height);
Mat image_needed_to_crop = new Mat(original_image,ROI);

此代码仅从原始图像中提取感兴趣区域。

关于python - 裁剪不需要的图像黑色空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41911330/

24 4 0
文章推荐: html - 修复 css 中的对齐方式
文章推荐: css - :hover over
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com