Jak wyciąć obraz o 30% w górę w Uniksie?


15

Chcę wyciąć 30% z góry obrazu. Znam nić Jak wyciąć naprawdę duży obraz rastrowy na mniejsze kawałki? ale nie ma skutecznego podejścia, ponieważ nie mogę znaleźć miary odległości convertod zera do końca , tylko na podstawie wymiarów wartości bezwzględnej. Pseudo kod

convert -crop-y -units-percentage 0x30 heart.png 

Ryc. 1 Dane wejściowe

wprowadź opis zdjęcia tutaj

Mogę wykonać zadanie za pomocą LaTeXa, adjustboxale dane wyjściowe w pliku pdf nie są tak naprawdę wynikiem końcowym, ale ich prezentacją. Tak więc skopiowanie obrazu z dokumentu pdf daje oryginalny obraz. Więc to podejście zawiodło.


1
Możesz użyć imagemagick's, identifyaby zobaczyć, jak duży jest obraz.
pfnuesel

Ogólne podejście polega na wstawieniu wartości wymaganej w wierszu poleceń za pomocą $(command). Następnie wystarczy napisać wiersz poleceń, który może obliczyć potrzebną wartość. Tutaj poprosisz konwertuj, aby opisał obraz i przerzuć go do awk, gdzie możesz dopasować potrzebną wartość, wykonać niezbędne obliczenia i wydrukować wynik.
Thorbjørn Ravn Andersen

Odpowiedzi:


23

W tym przypadku możesz przyciąć procent swojego obrazu , aby uniknąć uruchamiania dodatkowych poleceń w celu uzyskania wysokości i szerokości obrazu (aby obliczyć przesunięcie przycięcia, które domyślnie odnosi się do lewego górnego rogu), musisz również przyciąć w stosunku do grawitacji (tak, aby pozycja przesunięcia kadru była względem lewego dolnego rogu obrazu):

convert -gravity SouthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg

Potwierdzono, że to podejście działa! - - Możesz odwrócić to podejście itp. ONorthWest Odcinając od dołu. Świetny!
Léo Léopold Hertz

5

Poleceniem powinno być:

convert heart.png -gravity south -crop 100x70% +repage heart-out.png

1
@ LéoLéopoldHertz 준영 Nie rozumiem pytania, proszę o edycję
GAD3R

1
Twoje nowe podejście dzieli się na jednostki bezwzględne, a nie procentowe. Teraz prawidłowy kierunek cięcia od góry.
Léo Léopold Hertz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.