He importado una imagen en matlab y antes de mostrarla ¿cómo haría que el fondo de la imagen sea transparente? Por ejemplo, tengo una bola roja sobre fondo blanco, ¿cómo haré que los píxeles blancos de la imagen se vean transparentes para que solo la bola roja sea visible y los píxeles blancos transparentes?Hacer un píxel transparente en Matlab
Respuesta
Debe asegurarse de que la imagen se guarde en el formato 'png'. Luego puede usar el 'Alpha' parameter de un archivo png, que es una matriz que especifica la transparencia de cada píxel individualmente. Es esencialmente una matriz booleana que es 1 si el pixel es transparente, y 0 si no. Esto se puede hacer fácilmente con un bucle for siempre que el color que desea ser transparente sea siempre el mismo valor (es decir, 255 para uint8). Si no es siempre el mismo valor, entonces podría definir un umbral, o rango de valores, donde ese pixel sería transparente.
Actualización:
primer lugar generar la matriz alpha por iteración a través de la imagen y (suponiendo que conjunto blanco a ser transparente) siempre que el píxel es blanco, configurar la matriz de alfa a ese píxel como 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
después utilizar esta matriz alfa recién creado (a) para guardar la imagen como un ".png"
imwrite(X,'your_image.png','Alpha',A);
La nota para los bucles en MATLAB debe evitarse a toda costa porque son lentos. Reescribir el código para eliminar los bucles se conoce comúnmente como código de "vectorización". En el caso de la respuesta de ademing2, se podría hacer de la siguiente manera:
A = zeros(size(X));
A(X == 255) = 1;
- 1. Java BufferedImage cómo saber si un píxel es transparente
- 2. Hacer que cada píxel de una imagen tenga un color específico transparente
- 3. ¿Cómo hacer un degradado transparente?
- 4. cómo hacer SlidingDrawer transparente
- 5. ¿Cómo hacer un rectángulo en Gráficos en un color transparente?
- 6. ¿Cómo hacer un Texture2D 50% transparente? XNA
- 7. cacao: Cómo hacer un fondo transparente webView?
- 8. Hacer clic en el escritorio en un formulario transparente
- 9. Hacer superposición transparente en la página Jquery
- 10. Evitar hacer una UIButton transparente/transparente cuando su desactivación
- 11. Cómo hacer una ventana transparente en Linux
- 12. Cómo hacer una superficie con un fondo transparente en pygame
- 13. Haciendo un control "transparente" para hacer clic en eventos
- 14. ¿Establecer píxeles blancos en transparente en ImageMagick utilizando un umbral?
- 15. Cómo colorear un píxel?
- 16. Hacer parte de una imagen transparente
- 17. Hacer que un JPanel no dibuje su fondo (Transparente)
- 18. WPF: Cómo hacer que un fondo de botón sea transparente
- 19. ¿Cómo hacer que el fondo de un JCheckBox sea transparente?
- 20. Eliminar parte del fondo/hacer transparente
- 21. qué hace background: url transparente(); ¿hacer?
- 22. ¿Cómo hacer que un diálogo personalizado sea transparente?
- 23. Cómo hacer y guardar un video (avi) en matlab
- 24. Cómo hacer un diagrama de log en matlab
- 25. ¿Cómo hacer que NSTableView sea transparente?
- 26. ¿Cómo hacer SurfaceView con fondo transparente?
- 27. ¿Cómo hacer que JFrame sea transparente?
- 28. Encontrar el píxel/punto de concavidad en el mapa binario usando Matlab
- 29. Haga un control transparente
- 30. Pygame: dibuja un solo píxel
Gracias @ ademing2. ¿Tienes un breve ejemplo? – omegaFlame
Edité mi respuesta original con un ejemplo. –
Gracias. Pero, la salida de imagen es solo 1x1 y 87 bytes. ¿Algunas ideas? – omegaFlame