single
Défi : SVD pour la compression d'image
Glissez pour afficher le menu
En vous appuyant sur votre compréhension des opérations matricielles et de la décomposition en valeurs singulières (SVD), vous êtes prêt à appliquer ces concepts à un cas pratique : la compression d'image. La SVD est un outil puissant pour réduire la dimensionnalité des données, et elle est largement utilisée dans le traitement d'images pour compresser celles-ci tout en conservant un maximum d'informations d'origine. Dans ce défi, vous utiliserez scipy.linalg.svd pour compresser une matrice d'image en niveaux de gris en tronquant ses valeurs singulières, puis vous reconstruirez l'image à partir des données réduites. Cette méthode illustre comment la SVD permet de trouver un équilibre entre la qualité de l'image et l'efficacité du stockage.
Glissez pour commencer à coder
Implémenter une fonction qui compresse une matrice d'image en niveaux de gris à l'aide de la décomposition en valeurs singulières (SVD). La fonction doit :
- Prendre en entrée un tableau NumPy 2D représentant une image en niveaux de gris et un entier
k. - Décomposer la matrice de l'image en utilisant
scipy.linalg.svd. - Tronquer la décomposition pour ne conserver que les
kpremières valeurs singulières et les vecteurs correspondants. - Reconstruire et retourner la matrice d'image compressée à l'aide des composantes réduites.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion