Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 如何按主色或背景色对图像进行排序_Image_Image Processing_Imagemagick_Imagemagick Convert - Fatal编程技术网

Image 如何按主色或背景色对图像进行排序

Image 如何按主色或背景色对图像进行排序,image,image-processing,imagemagick,imagemagick-convert,Image,Image Processing,Imagemagick,Imagemagick Convert,我有8000张图片,基本上需要删除任何有白色背景的照片。我希望能找到一种方法,可以根据主色调(希望是白色)或背景色,比如说左上角的像素,对所有这些图像进行排序 这可以通过imagemagick实现吗?根据我在一分钟的网络研究(实际上是你的工作)中发现的,这是可能的 减少加速所需的颜色数量(如果需要) 然后创建一个直方图以获得颜色频率 然后根据最主要颜色的频率对输出进行排序 更多信息可在此处找到: 根据我在一分钟的网络调查中发现的情况(实际上是你的工作),这是可能的 减少加速所需的颜色数量(

我有8000张图片,基本上需要删除任何有白色背景的照片。我希望能找到一种方法,可以根据主色调(希望是白色)或背景色,比如说左上角的像素,对所有这些图像进行排序


这可以通过imagemagick实现吗?

根据我在一分钟的网络研究(实际上是你的工作)中发现的,这是可能的

减少加速所需的颜色数量(如果需要)

然后创建一个直方图以获得颜色频率

然后根据最主要颜色的频率对输出进行排序

更多信息可在此处找到:

根据我在一分钟的网络调查中发现的情况(实际上是你的工作),这是可能的

减少加速所需的颜色数量(如果需要)

然后创建一个直方图以获得颜色频率

然后根据最主要颜色的频率对输出进行排序

更多信息可在此处找到:

您可以计算平均像素值、排序和管道到其他实用程序

for f in *.jpg
do
  identify -format '%[mean] %f\n' "$f"
done | sort -r | cut -d ' ' -f 2
  • 标识格式“%[mean]%f\n'$f”
    将计算平均像素值(数字随着接近白色而增加)。例如

    14524.3 output0.jpg
    64246.8 output1.jpg
    34612.2 output2.jpg
    
  • 管道至
    排序-r
    反向排序

    64246.8 output1.jpg
    34612.2 output2.jpg
    14524.3 output0.jpg
    
  • 管道至
    切割-d'-f2
    以降低计算平均值

    output1.jpg
    output2.jpg
    output0.jpg
    

您可以计算平均像素值、排序和管道到其他实用程序

for f in *.jpg
do
  identify -format '%[mean] %f\n' "$f"
done | sort -r | cut -d ' ' -f 2
  • 标识格式“%[mean]%f\n'$f”
    将计算平均像素值(数字随着接近白色而增加)。例如

    14524.3 output0.jpg
    64246.8 output1.jpg
    34612.2 output2.jpg
    
  • 管道至
    排序-r
    反向排序

    64246.8 output1.jpg
    34612.2 output2.jpg
    14524.3 output0.jpg
    
  • 管道至
    切割-d'-f2
    以降低计算平均值

    output1.jpg
    output2.jpg
    output0.jpg
    

您可以使用ImageMagick计算图像中白色像素的百分比吗

convert image -fuzz XX% -fill white -opaque white -fill black +opaque white -scale 1x1 -format "%[fx:100*mean]\n" info:

结果将是图像中白色的百分比

其中XX百分比是你想白色的接近白色的百分比公差。如果您只想要纯白色,则使用0%。如果您想包括近白色,则增加XX%


PS抱歉@emcconville,我们一定是在同一时间发布的。基本上是相同的解决方案,但您的排序更彻底。

您可以使用ImageMagick计算图像中白色像素的百分比

convert image -fuzz XX% -fill white -opaque white -fill black +opaque white -scale 1x1 -format "%[fx:100*mean]\n" info:

结果将是图像中白色的百分比

其中XX百分比是你想白色的接近白色的百分比公差。如果您只想要纯白色,则使用0%。如果您想包括近白色,则增加XX%


PS抱歉@emcconville,我们一定是在同一时间发布的。基本上是相同的解决方案,但您的排序更彻底。

技术上讲,白色和黑色是没有颜色的。技术上讲,白色和黑色是没有颜色的。顺便说一句,这是一个比我建议的“计算平均值”更好的解决方案,因为它可以用于非白色背景。模糊和颜色值都可以根据需要进行调整。这是比我提出的“计算平均值”更好的解决方案,因为它可以用于非白色背景。模糊和颜色值都可以根据需要进行调整。