gpt4 book ai didi

python - 根据值裁剪图像

转载 作者:行者123 更新时间:2023-12-05 07:51:27 24 4
gpt4 key购买 nike

我有多个图像,看起来像这样:enter image description here

橙色代表等于0的值,白色代表等于255的值,蓝色代表字段,其中值从0到255不等。我想去掉橙色区域,这是每张图片都有点不同。最好的方法是什么?

编辑 1

我认为这个答案会有所帮助:bounding box approach .除了,我想得到一个数组 A_extract 而不是 A_trim:

A = np.array([[0,   0,   0,   0,   0,   0, 0],
[0, 255, 0, 0, 0, 0, 0],
[0, 0, 255, 255, 255, 255, 0],
[0, 0, 255, 0, 255, 0, 0],
[0, 0, 255, 255, 255, 0, 0],
[0, 0, 0, 255, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0]])

A_trim = np.array([[255, 0, 0, 0, 0],
[ 0, 255, 255, 255, 255],
[ 0, 255, 0, 255, 0],
[ 0, 255, 255, 255, 0],
[ 0, 0, 255, 0, 0]])

A_extract = np.array([[255, 255, 255],
[255, 0, 255],
[255, 255, 255])

基本上,代码应该找到一个边界框,其中第一行和最后一行(以及第一列和最后一列)中的所有元素都应该具有相同的值(例如 255)。

编辑 2

真实图像是分类卫星图像,存储为 numpy 数组(形状为 cca.7000x8000),而不是 RGB 图像。这是它的样子:

  • 橙色 = 0
  • 绿色 = 2
  • 粉红色 = 3
  • 白色 = 255

目的是去除边缘上的 0 值。

enter image description here

最佳答案

张贴的图片有一个白色边框,然后在你到达橙色之前在三个边上有一些黑线。

这将删除白色边框,然后将橙色变为白色:

 convert amGCH.png -trim -fill white -draw "color 5,5 floodfill" output.png

关于python - 根据值裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35038803/

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