Ho importato un'immagine in MATLAB e prima di visualizzarla, come renderei lo sfondo dell'immagine trasparente? Per esempio ho una palla rossa su uno sfondo bianco, come faccio a rendere i pixel bianchi dell'immagine in modo che solo la palla rossa sia visibile ei pixel bianchi siano trasparenti?Trasforma un pixel trasparente in Matlab
risposta
È necessario assicurarsi che l'immagine sia salvata nel formato 'png'. Quindi è possibile utilizzare 'Alpha' parameter di un file png, che è una matrice che specifica la trasparenza di ciascun pixel singolarmente. È essenzialmente una matrice booleana che è 1 se il pixel è trasparente e 0 se non lo è. Questo può essere fatto facilmente con un ciclo for fintanto che il colore che si desidera rendere trasparente è sempre lo stesso valore (vale a dire 255 per uint8). Se non è sempre lo stesso valore, è possibile definire una soglia, o intervallo di valori, in cui tale pixel sarebbe trasparente.
Aggiornamento:
Prima generare la matrice alfa scorrendo l'immagine e (supponendo imposta bianco di essere trasparente) quando il pixel è bianco, impostare la matrice alfa in quel pixel come 1.
# X is your image
[M,N] = size(X);
# Assign A as zero
A = zeros(M,N);
# Iterate through X, to assign A
for i=1:M
for j=1:N
if(X(i,j) == 255) # Assuming uint8, 255 would be white
A(i,j) = 1; # Assign 1 to transparent color(white)
end
end
end
quindi utilizzare questa matrice alfa appena creato (a) per salvare l'immagine come ".png"
imwrite(X,'your_image.png','Alpha',A);
Nota per i loop in MATLAB dovrebbe essere evitato a tutti i costi perché sono lenti. Il codice di riscrittura per rimuovere i loop viene comunemente chiamato codice di "vettorizzazione". Nel caso della risposta di ademing2, si potrebbe fare come segue:
A = zeros(size(X));
A(X == 255) = 1;
- 1. Trasforma un controllo trasparente
- 2. Java BufferedImage come sapere se un pixel è trasparente
- 3. Matlab: Salva figura con sfondo trasparente
- 4. Segmenti pixel in un'immagine basata sul colore (Matlab)
- 5. MATLAB Come convertire le coordinate dell'asse in coordinate pixel?
- 6. HTML5 come disegnare un'immagine di pixel trasparente su tela
- 7. Errore: deve avere una cornice di un pixel trasparente o bianca in Android Studio
- 8. Come eseguire il rendering di un pixel GIF trasparente in Phoenix?
- 9. Trasforma in modo trasparente file remoti su Windows, con ssh/Putty e netrw
- 10. Trasforma file in F #
- 11. Matlab - come disegnare pixel su uno schermo intero nero?
- 12. trasforma una linea in un rettangolo
- 13. script PHP per rendere un singolo pixel trasparente (PNG o GIF)
- 14. R trasforma nnls in lm
- 15. Trasforma l'immagine in testo - Java
- 16. La prospettiva in modalità Mode7 si trasforma in tela?
- 17. Polar-trasforma l'immagine in R
- 18. Trasforma stringa unicode in python
- 19. Come colorare un pixel?
- 20. Bitmap Android: Converti pixel trasparenti in un colore
- 21. Come si trasforma un documento Mongoose in un oggetto semplice?
- 22. Trasforma un set di colonne in un data.table
- 23. Trasforma un vettore di int in un vettore di str
- 24. UIToolBar trasparente su UIWebView
- 25. Trasforma un array 3D in una matrice in R
- 26. Visualizza un grafico in matlab
- 27. Carattere trasparente su sfondo trasparente
- 28. evitando di fare un UIButton trasparente/trasparente quando disabilitarlo
- 29. Come rendere trasparente un ListView in Android?
- 30. Pixel per pixel Bézier Curve
Grazie @ ademing2. Hai un breve esempio? – omegaFlame
Ho modificato la mia risposta originale con un esempio. –
Grazie. Ma l'output dell'immagine è solo 1x1 e 87 byte. Qualche idea? – omegaFlame