Je dois écrire un programme qui utilise la multiplication matricielle pour faire pivoter une image (un simple carré), basé sur le centre du carré, une certaine quantité de degré en fonction de ce dont j'ai besoin. Toute aide à ce sujet serait grandement appréciée. Je n'ai presque aucune idée de ce que je fais parce que je n'ai pas pris un seul coup d'œil à Calculus.Multiplication de matrice pour faire pivoter une image en C#
Répondre
Jetez un oeil à http://www.aforgenet.com/framework/. C'est un framework de traitement d'image complet en C# que j'utilise sur un projet. Je viens de vérifier leur aide et ils ont une fonction qui fait ce que vous voulez -
// create filter - rotate for 30 degrees keeping original image size
RotateBicubic filter = new RotateBicubic(30, true);
// apply the filter
Bitmap newImage = filter.Apply(image);
Il est une bibliothèque LGPL, donc si licence est un problème, si vous établissez un lien contre leurs binaires, vous aurez aucun problème. Leurs sont également d'autres bibliothèques.
Si vous décidez de l'écrire vous-même, faites attention à la vitesse car C# faire des calculs n'est pas très bon. Mais il existe des moyens de contourner ce problème.
Merci, cela pourrait être ce que je dois. C'est une petite partie d'un très grand projet d'école donc il n'y a pas de problèmes :) – Cistoran
C# peut être très efficace au nombre croquant s'il est bien fait. Dans les applications de calcul numériques, c'est souvent la copie de vecteurs et de matrices en C# qui nuit aux performances, et pas de problème sous-jacent à C#. – Paul
Voici un bon article du projet de code de discuter exactement ce dont vous avez envie:
http://www.codeproject.com/KB/GDI-plus/matrix_transformation.aspx
La rotation d'une image numérique dans le plan se résume à un grand nombre de multiplications matricielles 2X2. Il n'y a pas de calcul impliqué ici! Vous n'avez pas besoin d'un cadre de traitement d'image complet pour faire pivoter une image carrée - à moins que cela ne soit vraiment sensible aux performances en termes de qualité d'image et de vitesse.
Allez lire la première moitié du article de Wikipedia sur la matrice de rotation et cela devrait vous permettre de bien commencer. En un mot, établissez votre origine (peut-être le centre de l'image si vous voulez tourner autour), puis calculez dans l'espace pixel la coordonnée d'un pixel que vous souhaitez faire pivoter, et multipliez par votre rotation matrice (voir l'article.). Une fois que vous avez fait la multiplication, vous aurez vos nouvelles coordonnées du pixel dans l'espace des pixels. Ecrivez ce pixel dans un autre tampon d'image et vous serez hors tension et en rotation. Répéter. Notez qu'une fois que vous connaissez votre angle de rotation, il vous suffit de calculer votre matrice de rotation une fois!
Amusez-vous,
Paul
- 1. Faire pivoter une image bitmap en utilisant la matrice
- 2. Mise en boucle pour faire pivoter une matrice
- 3. multiplication de matrice numpy
- 4. Je dois faire pivoter une image
- 5. Comment faire pivoter une image dans WinForms
- 6. Triangular Multiplication génération Matrice
- 7. Comment faire pivoter une étiquette en C#?
- 8. comment continuer à faire pivoter une image
- 9. Comment faire pivoter une image sur l'iPhone?
- 10. Faire pivoter une image sur un pixel spécifique en python
- 11. Comment faire pivoter une image en Javascript ou CSS
- 12. Comment faire pivoter une image statique en HTML
- 13. Multiplication de la matrice: Strassen vs. Standard
- 14. Conversion d'une matrice de pixels en une image en C#
- 15. jquery: faire simultanément glisser et faire pivoter une image
- 16. L'utilisation de JAI pour faire pivoter une image en niveaux de gris augmente le contraste
- 17. Multiplication et inversion de la matrice iPhone
- 18. cordes Multiplication en C#
- 19. Faire pivoter une image sur l'intégralité de l'écran
- 20. Comment faire pivoter une image de manière procédurale dans WPF?
- 21. Android: faire pivoter pour faire face
- 22. Comment puis-je faire pivoter une image de la flèche en appuyant sur cette image?
- 23. Multiplication variable en C?
- 24. Comment faire pivoter/retourner une image sans utiliser photologue/ImageModel?
- 25. comment faire pivoter/flip/curl image en android
- 26. faire pivoter une image plusieurs fois sur cliquez avec jquery
- 27. Multiplication de deux tableaux en C
- 28. Faire pivoter une image dans la programmation Windows Mobile
- 29. retourner et faire pivoter une image couleur dans MATLAB
- 30. Comment faire pivoter correctement une image avec asp.net?
Il est en fait l'algèbre linéaire que vous avez besoin, et non pas le calcul;) – mpen
Ah merci;) 15char – Cistoran