Warping d'images avec Core Image
ads
Membre
Bonjour,
Apple dit dans la doc de Core Image qu'on peut faire du warping d'image
le probleme c'est que je n'ai trouve aucun exemple concret montrant la chose.
En gros ce que je veux ces prendre 4 points sur une image source et transformer le contenu du rectangle d'origine vers un quadrilatere dans une autre image.
une illustration de l'effet recherche (sur le babouin) http://www.imagemagick.org/Usage/distorts/#bilinear
Si quelqu'un a une idee...
Merci
Apple dit dans la doc de Core Image qu'on peut faire du warping d'image
#
Warp or transform the geometry of an image.
le probleme c'est que je n'ai trouve aucun exemple concret montrant la chose.
En gros ce que je veux ces prendre 4 points sur une image source et transformer le contenu du rectangle d'origine vers un quadrilatere dans une autre image.
une illustration de l'effet recherche (sur le babouin) http://www.imagemagick.org/Usage/distorts/#bilinear
Si quelqu'un a une idee...
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Disons que "warp" est un terme très vague.
Core Image Filter reference propose le filtre CIPerspectiveTransform qui semble se rapprocher de ce que tu veux.
Ce qui montre que tu peux faire ce que tu souhaites à priori avec CoreImage et en utilisant le filter "Perspective". Ca devrait déjà aider pour rechercher les bons mots clés et les informations sur le filtre en ayant son nom
CIPerspectiveTransform Filter Reference
Programming Guide sur les Core Image Filters (avec les bouts de code qui vont bien pour charger le filtre, le configurer, l'appliquer à une image, ...)
En effet, l'effet recherche ressemble, mais c'est legerement different, il y a une legere difference en le billinear warping et le perspective warping (cf mon lien plus haut), je recherche un effet de deformation sans effet de perspective.
En tous cas, les liens fournis sont super interessant.
Merci.
http://gallery.me.com/p3consulting#100025
l'effet de droite peut correspondre à ce que vous cherchez... mais ce n'est pas un CIFilter...
c'est du texture mapping sur une grille mais la déformation peut-être plus "fun" comme le montre l'effet de gauche...
(en fait le même effet mais avec des paramètres différents...)
c'est tout a fait ce que je recherche.
il y a un bout de code somewhere pour cela ?
Merci
en partant du principe que vous savez associé une NSImage à une texture GL_TEXTURE_RECTANGLE_EXT
il suffit de faire une grille et de boucler sur celle-ci :
vous aurez un step de grille pour l'image et un autre pour la texture
et d'une fonction qui "map" un point du rectangle original dans le trapèze...
ce qui est assez simple à écrire...
...évidemment la fonction MapPoint quand on déforme le rectangle avec des courbes de Bezier est un poil plus compliquée...
en ± pseudo code, cela donne :