background preloader

Code, Interactivité

Facebook Twitter

The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation: Gary William Flake: 9780262561273: Amazon.com: Books. Détection d’Individus dans les Images Couleurs à base d’Histogramme Intégral de Gradient Orienté et SVM. Formatted Strings — DrawBot 3.67. Add txt to the formatted string with some additional formatting attributes for the given text: font: the font to be usedfontSize: the font sizefill: the fill colorcmykFill: the cmyk fill colorstroke: the stroke colorcmykStroke: the cmyk stroke colorstrokeWidth: the stroke widthalign: the alignment of the textlineHeight: the line heightopenTypeFeatures: enable OpenType features All formatting attributes follow the same notation as other similar DrawBot methods.

A color is a tuple of (r, g, b, alpha) and a cmykColor is a tuple of (c, m, y, k, alpha). Text can also be added with formattedString += “hello”. Painting with Code | IDEO Labs. By day, I code mobile apps and design digital experiences. In my free time, I create art. I recently began exploring both at once with generative art, a sublime combination of computer programming and graphic art. Generative art, or art derived from computer code, is a relatively new format, in which the artist-programmer realizes a vision or idea by defining parameters and commands. But making generative art is, in many ways, just like painting or any other classical fine art.

I leverage the power of my computer to generate the artwork. Where a classical fine artist would pull out his oils and brushes to express colors and shapes, I do the same with parameters. For example, I defined a palette of colors for painting waves like this: As if the computer was a hand holding a brush, I tell it how to paint by defining command codes, like draw_wave: Delightful Randomness This function returns a float number randomly ranging from 0.1 to 0.7: Algorithm as Art Unlimited Complexity Functional Designs.

WeIO, la plate-forme de l’Internet des objets. Septembre 16th, 2014 Posted in Design, Interactivité (une fois n’est pas coutume, le post qui suit est très « techno », puisqu’il traite d’un composant électronique) Quatre jours après son lancement sur la plate-forme Indiegogo, la levée de fonds pour la WeIO a largement dépassé son objectif. Un succès qui montre bien que cette carte de prototypage dédiée à l’Internet des objets (web of things) répond à des besoins que ne couvrent pas ses concurrents, à savoir Arduino, Wiring, Raspberry Pi ou encore Microchip PIC. Deux des membres de l’équipe qui produit WeIO, Uroš Petrevski et Jean-Louis Fréchin, m’avaient touché un mot de ce projet, à l’époque secret, il y a presque trois ans et je me souviens de la définition qu’ils m’avaient donné en substance : une carte qui embarquerait en série tous les éléments utiles pour pouvoir travailler vite et bien, dotée d’une vraie puissance de calcul, mais conservant ou dépassant la grande simplicité de fonctionnement d’Arduino.

Plutôt simple, non ? Hacking for Artists. Explorer les 6 thèses pour Vision numérique. 719340683. How to Build a Robot Tutorials - Society of Robots. Computer Vision vs Machine Vision Computer vision and machine vision differ in how images are created and processed. Computer vision is done with everyday real world video and photography. Machine vision is done in oversimplified situations as to significantly increase reliability while decreasing cost of equipment and complexity of algorithms. As such, machine vision is used for robots in factories, while computer vision is more appropriate for robots that operate in human environments. Machine vision is more rudimentary yet more practical, while computer vision relates to AI. There is a lesson in this . . . You can also do other neat tricks with images, such as thresholding only a particular color like red.

The basic shapes are very easy, but as you get into more complex shapes (pattern recognition) you will have to use probability analysis. What the algorithm does is labels each blob by a number, counting up for every new blob it encounters. Calculating for the alien location . . . How to Build a Robot Tutorials - Society of Robots. Étirement et égalisation d'histogramme. Il arrive que certaines images réelles soient trop sombres ou trop claires, un petit peu comme la suivante dans un cas extrême : Comme je vous l'ai montré un peu plus haut, l'histogramme de cette image se retrouve tout aplati dans la zone des valeurs sombres : Cela s'explique par le fait que dans cette image, les niveaux de gris n'occupent pas tout l'intervalle des valeurs qu'ils peuvent prendre.

Au lieu de ça, ils sont tous compris entre deux valeurs min et max telles que 0≤min<max<256. Pour remédier à cela, on peut simplement essayer de normaliser cette image, c'est-à-dire ajuster l'échelle de ses niveaux de gris de façon qu'elle occupe tout l'intervalle disponible. Cette règle de proportionnalité est donnée par la formule suivante : dst(x,y)=(src(x,y)−min)×255(max−min) Implémentation manuelle Essayons d'implémenter ce traitement nous-mêmes, pour une image en niveaux de gris. Bien qu'OpenCV contienne déjà ces deux fonctions, voici comment l'on pourrait réaliser tout cela « manuellement » : Coding The Matrix: Linear Algebra Through Computer Science Applications, par Philip N. Klein. Feature Extraction & Image Processing for Computer Vision | 978-0-12-396549-3.

VO-HoraudMonga. Vision par ordinateur : apprendre · Forums · Progdupeupl. Pour compléter un peu ce que dit nohar, il faut tout d’abord bien comprendre que demander des ressources pour apprendre la vision par ordinateur, ou un par où commencer est aussi vague que des questions type “Quel langage de programmation apprendre ?” Ou “Par où commencer pour créer un jeux-vidéo ?”. La vision par ordinateur englobe a peu prêt tout ce qu’on peut vouloir faire faire à un ordinateur sur une image ou une vidéo (voir sur plusieurs à la fois). Il y a donc vraiment beaucoup de notions à apprendre ou maitriser pour en comprendre l’intégralité. C’est même probablement impossible. Chaque sous domaine de la vision à des techniques specifiques : tu n’utilise pas les même chose si tu dois détecter tous les visages dans une base de donnée d’images ou si tu dois faire de la réalité augmenté sur un telephone. Comme pour les langages de programmation ou les autres domaines de l’informatique, il faut admettre que l’on ne peut pas tout connaitre.

Qu'est-ce qu'une image ? Une « fonction d'intensités lumineuses » Qu'il s'agisse de ce que capte la rétine au fond de l'œil ou le capteur photosensible d'une webcam, une image, ce n'est rien d'autre que la projection de rayons lumineux provenant du monde extérieur sur un plan. S'il ne nous appartient pas dans ce chapitre d'étudier les notions d'optique ou de géométrie projective qui sous-tendent ce phénomène (ce qui viendra dans une partie bien plus avancée de ce cours), cette définition a quand même son importance pour comprendre la façon dont les images sont modélisées en mathématiques.

Dans un premier temps, nous allons faire l'hypothèse que les rayons lumineux qui viennent frapper le plan de l'image sont caractérisés par leur intensité uniquement. I:R2→R(x,y)↦I(x,y) Voilà qui est bien commode ! Mais attendez un peu… À moins que nous ne vivions vous et moi dans un monde parfaitement mathématique, cette définition, aussi précise et rigoureuse soit-elle, reste quand même très limitée. Bingo ! Exemple. Les websocket – Tutoriel avec Node JS | Web it. Qu’est ce que les websockets ? Définition de wikipédia : Le protocole WebSocket vise à développer un canal de communication bidirectionnel et full-duplex sur un socket TCP pour les navigateurs et les serveurs web. C’est une des technologies apportées par HTML5. En fait il s’agit de permettre l’ouverture d’une connexion réseau entre une page web et un serveur. Voici un petit schéma pour mieux comprendre : Les avantages sont multiples : permettre au serveur d’envoyer des données vers les pages connectées (impossible avec Ajax)économie de bande passante.

On ouvre la connexion vers le serveur et on transmet tout ce que l’on veut dans les 2 sens (page vers serveur, serveur vers page).rapidité de transmission des données Node JS Node JS est un des nombreux serveurs permettant de faire du Web Socket. Helloworld Téléchargez la dernière version et installez-la. Console.log('Helloworld'); Notre fichier serveur est fait. Socket IO <! Et ce que vous soyez coté client ou coté serveur. Vidéo de démonstration. Tutoriel WebSocket. Basé sur la spécification W3C, comment échanger des données avec un serveur à l'initiative du client ou du serveur.

WebSocket est une alternative à Ajax plus simple à mettre en oeuvre coté client, mais avec une compatibilité limitée aux navigateurs récents. Le protocole complet est supporté par Internet Explorer 10, Chrome depuis la version 16, Firefox depuis la version 11, Safari depuis la version 6.0. Mais pourquoi utiliser WebSocket? Contrairement à l'objet XMLHttpRequest d'Ajax, qui envoie des requêtes au serveur et met à jour la page web de façon asynchrone lorsque un script sur le serveur renvoie les résultats, WebSocket permet d'envoyer des données à la page à l'initiative du serveur. On peut donc lancer un traitement sur le serveur - ou plusieurs traitements simultanés - qui enverront des données à un navigateur fonctionnant comme un tableau de bord avec différents widgets qui présenteront les informations reçues.

L'API standard coté client ws.send("Hello serveur Onopen Onclose ws.

Raspberry Pi

Processing. OpenFrameworks. Arduino. Pure Data. Arts numériques.