{"id":341,"date":"2020-11-23T12:22:18","date_gmt":"2020-11-23T12:22:18","guid":{"rendered":"http:\/\/ifdesignelseart.com\/?p=341"},"modified":"2020-11-23T12:22:18","modified_gmt":"2020-11-23T12:22:18","slug":"verifier-la-presence-de-la-camera","status":"publish","type":"post","link":"http:\/\/ifdesignelseart.com\/?p=341","title":{"rendered":"V\u00e9rifier la pr\u00e9sence de la cam\u00e9ra"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Lorsque l&rsquo;on veut acc\u00e9der \u00e0 la webcam avec la librairie video et l&rsquo;objet Capture, il n&rsquo;est pas rare que rien ne fonctionne alors m\u00eame que la cam\u00e9ra est pr\u00e9sente et qu&rsquo;elle fonctionne de mani\u00e8re satisfaisante avec tous les autres logiciels (mais attention, deux logiciels diff\u00e9rents ne peuvent pas acc\u00e9der \u00e0 une m\u00eame cam\u00e9ra en m\u00eame temps !)<br>Le probl\u00e8me le plus courant est que la d\u00e9finition de la capture que vous voulez obtenir ne fait pas partie des d\u00e9finitions d&rsquo;image disponibles pour la cam\u00e9ra. Souvent, le format 640&#215;480 est disponible mais il peut tout \u00e0 fait \u00eatre absent de la liste des possibilit\u00e9s, notamment avec les webcams r\u00e9centes, qui sont pr\u00e9vues pour des formats sup\u00e9rieurs.<br>Le modeste programme qui suit vous permet de conna\u00eetre la liste de toutes les cam\u00e9ras accessibles par Processing :<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">import processing.video.*;\n\nString[] cameras = Capture.list();\nfor(String c:cameras){\n  println(c);\n}<\/pre>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Il suffit de le lancer pour obtenir, dans la console, une liste de possibilit\u00e9s. <br>Le r\u00e9sultat sera parfois un simple nom, comme \u00ab\u00a0Logitech HD Webcam C270\u00a0\u00bb, et parfois, une liste signalant les formats disponibles (320&#215;240 \u00e0 60 images par seconde, par ex.). <br>Vous pourrez alors adapter l&rsquo;initialisation de la capture en cons\u00e9quence, soit en saisissant le nom du mod\u00e8le (\u00e9crit exactement pareil) :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">new Capture(this, \"Logitech HD Webcam C270\");<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette m\u00e9thode (avec le nom exact) est particuli\u00e8rement importante lorsque plusieurs cam\u00e9ras diff\u00e9rents sont connect\u00e9es au m\u00eame ordinateur.<br>S&rsquo;il n&rsquo;y a qu&rsquo;une cam\u00e9ra, on peut se contenter de proposer la d\u00e9finition d&rsquo;image trouv\u00e9e (en supposant, dans ce cas, qu&rsquo;il existe un format 320 x 240 pixels dans la liste) :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">new Capture(this, 320, 240);<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Voici enfin un simple programme qui :<br>&#8211; importe la librairie vid\u00e9o<br>&#8211; d\u00e9clare un objet Capture() et l&rsquo;initialise<br>&#8211; adapte le format de la fen\u00eatre \u00e0 celui de la capture<br>&#8211; et qui lit l&rsquo;image captur\u00e9e (si disponible) et l&rsquo;affiche :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import processing.video.*;\nCapture cap;\n\nvoid setup(){\n  cap = new Capture(this, \"Logitech HD Webcam C270\");\n  cap.start();\n  surface.setSize(cap.width, cap.height);\n}\nvoid draw(){\n  if(cap.available()){\n    cap.read();\n    image(cap,0,0);\n  }\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Lorsque l&rsquo;on veut acc\u00e9der \u00e0 la webcam avec la librairie video et l&rsquo;objet Capture, il n&rsquo;est pas rare que rien ne fonctionne alors m\u00eame que la cam\u00e9ra est pr\u00e9sente et qu&rsquo;elle fonctionne de mani\u00e8re satisfaisante avec tous les autres logiciels (mais attention, deux logiciels diff\u00e9rents ne peuvent pas acc\u00e9der \u00e0 une m\u00eame cam\u00e9ra en m\u00eame [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-341","post","type-post","status-publish","format-standard","hentry","category-tips"],"_links":{"self":[{"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=\/wp\/v2\/posts\/341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=341"}],"version-history":[{"count":2,"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=\/wp\/v2\/posts\/341\/revisions"}],"predecessor-version":[{"id":343,"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=\/wp\/v2\/posts\/341\/revisions\/343"}],"wp:attachment":[{"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=341"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ifdesignelseart.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}