我有一些想裁剪的圖片,但希望能通過命令列,而不是手動操作每一張。
我想根據某個顏色的邊框(本例中為#31393C)來裁剪圖片(我已經裁剪了上半部分,對其他顏色進行了去飽和處理,并使用ffmpeg分割幀)。例如,我想要這個影像。
。
被裁剪成這樣:

我已經嘗試了一些命令,但不幸的是它們對我不起作用。
convert image.jpg -bordercolor "#31393C"/span> -border 2x2 -fuzz 10% -trim output.jpg
我也曾嘗試讓不是#31393C的部分填充成白色,然后進行裁剪,這可能是一個潛在的解決方案,因為我想提高使用OCR的能力:
。convert image.jpg -fill white -fuzz 11% opaque "#31393c"/span> result.jpg
轉換result.jpg -bordercolor white -border 10x10 -fuzz 10% -trim output.jpg
uj5u.com熱心網友回復:
不知道是否有更簡單的方法,或者說使你的顏色不飽和是否是最明智的想法,但下面的方法似乎是可行的。請注意,我們將在您的原始影像的副本中制作一個邪惡的混亂,以獲得修剪框,然后將其應用于未經處理的原始影像。
因此,我們的計劃如下:
使用子影像搜索,找到一個漂亮的50x50的深灰色塊,我們確信它將在你想要裁剪的大的灰色區域內
一旦我們找到了這個50x50的區塊,就從這里開始用紅色進行填充,然后把其他的東西都變成黑色
。
獲得修剪框,并將其應用于原件
獲得修剪框,并將其應用于原件。
因此,對于步驟1:
compare -metric RMSE -subimage-search N6rL3.png -size 50x50 "xc:#31393c" locations.png
0 (0) @ 106,351
這是location-1.png,你可以看到它是明亮的白色,這意味著在你想要的矩形的左上方有一個很好的匹配,我們有這個點的坐標,即106,351
第2步)從該點開始用紅色進行填充,其他都是黑色:
magick N6rL3.png -fill red -draw "color 106,351 floodfill" -fill black opaque red interim.png
第3步)這次獲取修剪框,而不是創建一個輸出影像:
magick N6rL3.png -fill red -draw "color 96,351 floodfill" -fill black opaque red -format %@ info:
1560x152 96 304
現在我們可以使用該修剪框來裁剪原稿:
magick N6rL3.png -crop 1560x152 96 304 result.png
注意,我是在匆忙中完成的,你可能需要調整一些小東西......
uj5u.com熱心網友回復:這里是你如何使用ImageMagick中的連接組件處理的。我指定了你想要的顏色和一個允許多少變化的模糊值。這假定你想要該顏色的最大方框,并且它大于500像素。這是Unix的語法。但類似的代碼也可以為Windows開發。
-fuzz ... -fill ... -基本上是對所需的顏色進行閾值處理,使該顏色變成白色,而影像的其他部分變成黑色。
連接的組件引數做了以下事情:
連接的組件引數做了以下事情:
之后,它通過管道將grep過濾,只保留白色區域,即gray(255),然后通過管道將awk從串列中選擇邊界框。
輸入:
color="srgb(49,57,60)"
fuzzval=10
bbox=`convert
textbox.png
-fuzz $fuzzval%
-填充黑色 不透明"$color"
-填充白色 -不透明的"$color"
-型別 bilevel
-定義connected-components:exclude-header=true
-定義connected-components:area-threshold=500
-定義Connected-components:keep-top=1
-define connected-components:verbose=true
-define connected-components:mean-color=true
-connected-components 8 null: |
grep "gray(255)" | awk '{print $2}'`
echo "$box"
轉換 textbox.png -crop $bbox repage textbox_crop.png
裁剪的結果:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/320327.html
標籤:




