Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 18-06 10:18
Ik heb een groot png bestand (124MB) waar verschillende pagina's zitten. Deze zitten op een zwarte achtergrond. Nu wil ik ze splitsen, maar de pagina's zijn niet allemaal even groot.

Met
code:
1
convert x.png -crop 1160x750 out.png

kan ik de file splitsen zoals ik wil, maar de 1160 in het voorbeeld is dus variabel.

Via https://stackoverflow.com...based-on-horizontal-lines
heb ik een script gevonden:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
w=$(identify -ping -format '%[width]' green_lines.png)
h=$(identify -ping -format '%[height]' green_lines.png)
convert green_lines.png -resize 1x"${h}"\! -resize "${w}"x"${h}"\! out_green.png
convert out_greenS.png -threshold 0.01% -negate out_greenS.png

convert out_greenS.png -define connected-components:verbose=true \
-define connected-components:area-threshold=500000 \
-connected-components 8 objects.png| awk '{print $2}'|tail -n +2 >coodr.txt
i=0
while read size
do 
convert green_lines.png -crop "${size}"  crop_"${i}".png
i=$((i+1))
done < coodr.txt

wat deels lijkt te doen wat ik wil, maar hij geeft aan dat een vereist bestand niet is gevonden. En daar loop ik dus vast. Hopelijk kan iemand me helpen.
objects.png komt voor mij volledig uit de lucht vallen (ook niet in het topic op SO te vinden).

Acties:
  • 0 Henk 'm!

  • Savantas
  • Registratie: December 2002
  • Laatst online: 18-06 13:14
Draai je wel in een bash omgeving? Want bij mij doet hij het wel met het voorbeeldbestand met groene lijnen. Echter pakt hij dus wel alleen horizontale lijnen, een door mij geplaatste verticale werd genegeerd.
Overigens wordt hier uitgegaan van groen, wat dus verder niet in de afbeelding zit. Als je hetzelfde met zwart wil kan dit lastiger worden (tenzij het script alleen aansluitende lijnen/vlakken wil, maar dan zal het mer verschillende paginagroottes ook niet direct lukken).
Nadere analyse van het script geeft dat er een kopie wordt gemaakt van het bronbestand, waarbij maar 1 pixel wordt gepakt en dit over de heel breedte uitgesmeerd (eerste convert regel), vervolgens wordt hier alleen het groen uitgefilterd (tweede convert met treshold).
Je zou dus het script kunnen dupliceren om de gecropte afbeeldingen vervolgens weer op te knippen (of door middel van aanpassen van het script zodat hij bij de eerste convert verticaal verwerkt ipv horizontaal, of door eerst de cropped images 90 graden te draaien en dan hetzelfde script over alle cropped images).

[ Voor 76% gewijzigd door Savantas op 04-09-2024 13:11 ]

Ik denk niet zwart-wit, ik denk diapositief! ( ͡° ͜ʖ ͡°)


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 18-06 10:18
Ik draai het in standaard Ubuntu 24.04 LTS. Volgens mij dus wel bash.

Ik snap het principe wat ie doet, maar heb dus inderdaad alleen zwartwit. Door de threshold van 0,01% te pakken, lijk ik redelijk goed uit te komen met mijn bronbestand, maar vervolgens loopt hij dus vast

Acties:
  • 0 Henk 'm!

  • Toxic_Dreams
  • Registratie: September 2016
  • Laatst online: 04-06 16:45
Al geprobeerd met ChatGPT? Daar kan je ook de afbeelding uploaden zodat ChatGPT weet waarvan het precies moet gebeuren.

Al weet ik niet of 124MB te groot is.

Acties:
  • 0 Henk 'm!

  • mrc4nl
  • Registratie: September 2010
  • Laatst online: 02:26

mrc4nl

Procrastinatie expert

ik moet denken aan de php environment variablen.

hoe staan je geheugenlimieten ingesteld?

ora et labora


Acties:
  • 0 Henk 'm!

  • sys64738
  • Registratie: Oktober 2002
  • Laatst online: 23:22

sys64738

Moderator Foto & Video

Press play on tape

Ik denk dat het handig is om je probleem wat duidelijker te omschrijven. Wat bedoel je met zwarte achtergrond? Heb je tussendoor witte lijnen als scheiding? Hoe kun je herkennen wanneer een nieuwe pagina/sectie begint?

Want ipv ons blind te staren op dit script zijn er misschien makkelijkere oplossingen.

Maar als je dit script zelf aan de praat wil krijgen: hoe ziet het script er nu uit bij jou? En wat bedoel je met "hij loopt vast"? Reageert ie niet meer? If so: Hoeveel cpu/geheugen gerbuikt je systeem? Geeft het script nog iets van output?

Flickr | Photography 101: Skills > Patience > Gear

Pagina: 1