GNU/Linux >> Linux Esercitazione >  >> Linux

Converti l'immagine in scala di grigi in un'immagine del canale alfa nella shell unix

Va bene. Dopo un sacco di ricerche su Google e aver letto più del manuale di ImageMagick di quello che mi interessa davvero, ecco la risposta. Dato che hai un'immagine in scala di grigi chiamata source.png , ecco i miei comandi.

Per rendere trasparenti i pixel neri e mantieni i pixel bianchi così come sono, esegui questo comando:

 convert source.png -alpha copy -fx '#fff' result.png

Per rendere invece trasparenti i pixel bianchi mantenendo il nero così com'è, usa:

 convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png

Spieghiamo l'ultimo comando un po' più a fondo:

  • convert – È il comando ImageMagic (uno dei tanti)
  • source.png – L'immagine sorgente in scala di grigi.
  • -alpha copy – Copia il contenuto del file precedente nel canale alfa.
  • -channel alpha – Specifica che solo i seguenti operatori dovrebbero influenzare il canale alfa.
  • -negate – Inverti il ​​canale alfa (sarà, a causa del precedente -chanel alpha non influisce su nessun'altra parte dell'immagine).
  • +channel – Specificare che solo i seguenti operatori dovrebbero influenzare i canali di colore e non modificare più il canale alfa. (Questo è il valore predefinito, quindi non è necessario fornirlo nel primo esempio più semplice.)
  • -fx '#000' – Sostituisci il contenuto del canale colore con pixel neri. (A causa di +channel il canale alfa non sarà interessato).

È piuttosto importante includere quel -fx finale opzione, altrimenti tutti i pixel semitrasparenti nell'immagine generata manterranno i colori. (Poiché questi pixel sono semitrasparenti, potrebbe non essere ovvio, ma il risultato finale non è quello che ci si aspetta.)

Ho trovato molto utile l'elenco delle opzioni di ImageMagick.


Linux
  1. Convertire un collegamento fisico in un collegamento simbolico?

  2. Estensioni di file per script di shell Unix?

  3. Converti la chiave privata Openssh in una chiave privata Ssh2?

  4. 4 modi per eseguire uno script di shell in UNIX / Linux

  5. Somma una colonna di numeri nella shell Unix

Converti la tua installazione di Windows in una VM su Linux

Come convertire un file Windows in un file UNIX

Come convertire l'output della shell di Linux in HTML?

Converti .txt in .csv nella shell

Converti immagine in testo

oxps in pdf o immagine - Linux