2014-02-28 102 views
2

我正在構建一個web應用程序,需要能夠根據圖像中包含的白色邊框(並且沒有填充)的4邊形狀的位置裁剪圖像。用戶上傳的所有圖像都會變暗,因此它們不應該干擾算法以找到邊界框。應用程序的這部分應該能夠處理所有類型的四邊形,並且可以展開包含在白色邊界形狀中的任何東西以適應方形。如何基於圖像中的邊界框裁剪圖像(以編程方式)?

我懶再現在Photoshop:http://i.stack.imgur.com/xJjoL.png

我使用Laravel來構建這個應用程序(LAMP堆棧)。我在尋找像ImageMagick和GD這樣的庫,但我仍然是編程圖像編程的新手。 IM或GD中是否有特定的功能可以幫助我構建這部分應用程序?有更好的PHP庫有能力做到這一點嗎?我不是一定要求代碼;我只想知道在開始構建之前我應該​​從哪些工具開始。

回答

1

ImageMagick的可以用於這種類型的應用,如果我知道你在問什麼。要改變圖像的角度來看,考慮:

http://www.imagemagick.org/Usage/distorts/#perspective

要扭曲後裁剪圖片,看看:

http://www.imagemagick.org/Usage/crop/#crop

這將是容易使一個bash循環來完成這些兩項任務。事情是這樣的:

## first distort the images 

for i in *.jpg ##or whatever format you have (.tiff, pdf, etc..) 
do 
convert $i -distort Perspective out_file.png ## where you give coordinates into the perspective method 
done 

## now to crop the distorted images 
for i in *.png 
do 
convert $i -crop out_file.jpg ## where you give the coordinates of the new rectangle to the crop method 
done 

上面的代碼僅僅是一個起點,將需要按照我上面提到的鏈接進行填充。快樂的腳本!