{"id":29167,"date":"2026-03-02T10:08:48","date_gmt":"2026-03-02T09:08:48","guid":{"rendered":"https:\/\/www.heliotis.com\/tutorials2\/precision-subpixel-en-vision-industrielle\/"},"modified":"2026-08-16T20:01:31","modified_gmt":"2026-08-16T18:01:31","slug":"precision-subpixel-en-vision-industrielle","status":"publish","type":"tutorial","link":"https:\/\/www.heliotis.com\/fr\/tutorials2\/precision-subpixel-en-vision-industrielle\/","title":{"rendered":"Pr\u00e9cision subpixel en vision industrielle"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Pourquoi les dimensions lat\u00e9rales peuvent \u00eatre d\u00e9termin\u00e9es avec une pr\u00e9cision nettement sup\u00e9rieure \u00e0 la taille d\u2019un pixel<\/h2>\n\n<p class=\"wp-block-paragraph\"><strong>R\u00e9sum\u00e9<\/strong><br\/>En vision industrielle, on suppose souvent : \u00ab Un pixel est la plus petite unit\u00e9 lat\u00e9rale mesurable. \u00bb Cela vaut pour un simple comptage de pixels \u2014 mais pas pour la d\u00e9termination de la position de bords, de lignes ou de centres. Gr\u00e2ce \u00e0 l\u2019analyse subpixel, la position d\u2019un bord entre les centres de pixels peut \u00eatre d\u00e9termin\u00e9e plus pr\u00e9cis\u00e9ment. Cette note d\u2019application montre, \u00e0 partir d\u2019un exemple r\u00e9el, comment, malgr\u00e9 une taille de pixel lat\u00e9rale d\u2019environ <strong>30 \u00b5m<\/strong> x <strong>30 \u00b5m<\/strong>, une r\u00e9p\u00e9tabilit\u00e9 de <strong>2\u20133 \u00b5m<\/strong> est atteinte (typiquement ~1\/10 de pixel dans des conditions appropri\u00e9es).   <\/p>\n\n<h2 class=\"wp-block-heading\">1. Motivation<\/h2>\n\n<p class=\"wp-block-paragraph\">De nombreux utilisateurs d\u00e9duisent directement la limite de mesure de la taille des pixels :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Taille de pixel = plus petite grandeur de mesure lat\u00e9rale<\/li>\n\n\n\n<li>\u00ab Subpixel \u00bb sonne comme de la \u00ab magie \u00bb<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Le point d\u00e9cisif est le suivant : <strong>les bords ne sont pas repr\u00e9sent\u00e9s par l\u2019optique, le capteur et l\u2019\u00e9clairage comme un saut net sur un seul pixel<\/strong>, mais comme une transition sur plusieurs pixels. C\u2019est pr\u00e9cis\u00e9ment ce profil de transition qui contient l\u2019information permettant de d\u00e9terminer une position <strong>entre<\/strong> les centres de pixels. <\/p>\n\n<h2 class=\"wp-block-heading\">2. Principe de base : pourquoi le subpixel est possible<\/h2>\n\n<p class=\"wp-block-paragraph\">Lorsqu\u2019un bord ne passe pas exactement par les centres de pixels, son intensit\u00e9 se r\u00e9partit sur plusieurs pixels voisins. Il en r\u00e9sulte un <strong>profil de luminosit\u00e9<\/strong> (profil de transition) sur plusieurs pixels. <\/p>\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:20px;padding-right:0px;padding-bottom:40px;padding-left:0px\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/sub-pixel-concept.png\" alt=\"\" class=\"wp-image-25553 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><em>Figure 1 : principe de la d\u00e9termination de bords avec pr\u00e9cision subpixel<\/em><\/p>\n<\/div><\/div>\n\n<p class=\"wp-block-paragraph\">Au lieu de d\u00e9terminer \u00ab l\u2019indice de pixel du saut \u00bb, la position du bord est estim\u00e9e comme un <strong>param\u00e8tre continu<\/strong> \u2014 par exemple via :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Interpolation autour du maximum de gradient (1D\/2D)<\/li>\n\n\n\n<li>Ajustement d\u2019un mod\u00e8le au profil de bord (p. ex. sigmo\u00efde\/fonction d\u2019erreur)<\/li>\n\n\n\n<li>Ajustement g\u00e9om\u00e9trique (ligne\/cercle) sur de nombreux points de bord subpixel (moindres carr\u00e9s)<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>Important :<\/strong> subpixel ne signifie pas \u00ab pr\u00e9cision arbitraire \u00bb. La pr\u00e9cision atteignable est notamment limit\u00e9e par : <\/p>\n\n<ul class=\"wp-block-list\">\n<li>Rapport signal\/bruit (SNR)<\/li>\n\n\n\n<li>Profondeur de bits \/ quantification<\/li>\n\n\n\n<li>Optique (MTF), mise au point, mouvement<\/li>\n\n\n\n<li>Contraste &amp; \u00e9clairage (\u00e9viter la saturation)<\/li>\n\n\n\n<li>Biais de mod\u00e8le\/d\u2019ajustement (\u00e9carts syst\u00e9matiques)<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>R\u00e8gle empirique :<\/strong> dans de bonnes conditions, des <strong>facteurs de 5\u00d7 \u00e0 10\u00d7<\/strong> par rapport \u00e0 la \u00ab pr\u00e9cision au pixel \u00bb sont r\u00e9alistes.<\/p>\n\n<h2 class=\"wp-block-heading\">3. Objet de mesure et configuration<\/h2>\n\n<h3 class=\"wp-block-heading\">3.1 Objet de mesure<\/h3>\n\n<p class=\"wp-block-paragraph\">\u00c0 titre d\u2019exemple, un connecteur PCB <strong>DFMC 1,5\/3-ST-3,5<\/strong> (\u00a9 Phoenix Contact) avec <strong>6 cavit\u00e9s rondes<\/strong> est utilis\u00e9.<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Diam\u00e8tre nominal : <strong>\u00d8 3,0 mm<\/strong><\/li>\n\n\n\n<li>Tol\u00e9rance : <strong>\u00b1 50 \u00b5m<\/strong> (LSL = 2,95 mm, USL = 3,05 mm)<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>R\u00e9p\u00e9tabilit\u00e9 de la d\u00e9termination du diam\u00e8tre<\/li>\n\n\n\n<li>D\u00e9monstration de la capacit\u00e9 subpixel en pratique<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">3.2 Syst\u00e8me de mesure<\/h3>\n\n<ul class=\"wp-block-list\">\n<li><strong>heliInspect\u2122 H9S 0.8\u00d7<\/strong> avec capteur <strong>S40U<\/strong><\/li>\n\n\n\n<li>\u00c9clairage : <strong>LED rouge<\/strong><\/li>\n\n\n\n<li>M\u00e9canique : montage sur <strong>heliProfiler\u2122 P4<\/strong><\/li>\n\n\n\n<li>\u00c9valuation : d\u00e9tection de contour + ajustement de cercle (moindres carr\u00e9s \/ RLS)<\/li>\n<\/ul>\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"padding-top:20px;padding-bottom:20px;grid-template-columns:33% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/phoenix_contact.png\" alt=\"\" class=\"wp-image-25559 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><em>Figure 2 : objet de mesure (connecteur) et configuration de mesure\/vue des cavit\u00e9s<\/em><\/p>\n<\/div><\/div>\n\n<h2 class=\"wp-block-heading\">4. Acquisition des donn\u00e9es et \u00e9valuation<\/h2>\n\n<h3 class=\"wp-block-heading\">4.1 Donn\u00e9es 3D et s\u00e9lection des ROI<\/h3>\n\n<p class=\"wp-block-paragraph\">Pour l\u2019analyse de contour, seuls les zones pr\u00e9sentant un signal suffisant sont \u00e9valu\u00e9es (au-dessus du niveau de bruit). Les six cavit\u00e9s sont s\u00e9lectionn\u00e9es comme ROI. <\/p>\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"padding-top:20px;padding-bottom:20px;grid-template-columns:56% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/phoenix_topo.png\" alt=\"\" class=\"wp-image-25564 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><em>Figure 3 : contour brut\/points de bord \u2014 la discr\u00e9tisation de la grille de pixels est visible<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n<h3 class=\"wp-block-heading\">4.2 Points de bord subpixel et ajustement de cercle<\/h3>\n\n<p class=\"wp-block-paragraph\">\u00c0 l\u2019\u00e9tape suivante, des points de bord subpixel sont d\u00e9termin\u00e9s et un ajustement de cercle est effectu\u00e9 sur de nombreux points. M\u00eame si certains points ne sont que \u00ab l\u00e9g\u00e8rement subpixel \u00bb, la combinaison de nombreux points stabilise nettement l\u2019estimation. <\/p>\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/contour_from_topo-1.png\" alt=\"\" class=\"wp-image-25570\" style=\"aspect-ratio:2.704350377815274;width:800px;height:auto\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\"><em>Figure 4 : cercle d\u2019ajustement optimal (moindres carr\u00e9s\/RLS) sur les points de contour<\/em><\/p>\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/contour_from_topo2.png\" alt=\"\" class=\"wp-image-25571\" style=\"aspect-ratio:2.241320605581565;width:800px;height:auto\"\/><\/figure>\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/contour_from_topo3.png\" alt=\"\" class=\"wp-image-25572\" style=\"aspect-ratio:2.2000781300865944;width:800px;height:auto\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\"><br\/><em>Figure 5 : d\u00e9tail : contour brut (pixellis\u00e9) vs ajustement (lisse) \u2014 principe d\u2019action du subpixel.<\/em><\/p>\n\n<h2 class=\"wp-block-heading\">5. R\u00e9sultats : r\u00e9p\u00e9tabilit\u00e9<\/h2>\n\n<h3 class=\"wp-block-heading\">5.1 Plan de mesure<\/h3>\n\n<ul class=\"wp-block-list\">\n<li><strong>30 r\u00e9p\u00e9titions<\/strong> au m\u00eame endroit<\/li>\n\n\n\n<li>\u00c9valuation des <strong>6 cavit\u00e9s<\/strong> par acquisition<\/li>\n\n\n\n<li>Indicateurs : moyenne (\u00b5) et \u00e9cart-type (\u03c3) des diam\u00e8tres<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">5.2 R\u00e9sultats<\/h3>\n\n<p class=\"wp-block-paragraph\">En combinant toutes les cavit\u00e9s et toutes les r\u00e9p\u00e9titions, on obtient :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Moyenne : <strong>\u00b5 = 3,043 mm<\/strong><\/li>\n\n\n\n<li>\u00c9cart-type : <strong>\u03c3 = 0,0025 mm = 2,5 \u00b5m<\/strong><\/li>\n<\/ul>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/phoenix_eval1-1024x475.png\" alt=\"\" class=\"wp-image-25575\"\/><\/figure>\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.heliotis.com\/wp-content\/uploads\/2026\/03\/phoenix_eval2.png\" alt=\"\" class=\"wp-image-25577\" style=\"aspect-ratio:1.2338611449451888;width:800px;height:auto\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\"><em>Figure 6 : valeurs mesur\u00e9es par cavit\u00e9 sur 30 r\u00e9p\u00e9titions<\/em><\/p>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<p class=\"wp-block-paragraph\">Constats :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Une dispersion de l\u2019ordre de <strong>2\u20133 \u00b5m<\/strong> est coh\u00e9rente avec \u00ab ~1\/10 de pixel \u00bb pour une taille de pixel d\u2019environ 30 \u00b5m.<\/li>\n\n\n\n<li>La moyenne est proche de la limite de tol\u00e9rance sup\u00e9rieure (USL = 3,05 mm). Cela est pertinent pour Cp\/Cpk. <\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">6. Indices de capabilit\u00e9 Cg et Cgk<\/h2>\n\n<p class=\"wp-block-paragraph\">Les indicateurs Cp\/Cpk sont utilis\u00e9s ici pour situer la dispersion de mesure par rapport \u00e0 la tol\u00e9rance et \u00e0 la position de la moyenne.<\/p>\n\n<h3 class=\"wp-block-heading\">6.1 D\u00e9finitions<\/h3>\n\n<p class=\"wp-block-paragraph\"><strong>C<\/strong>g \u2192 \u00ab Quelle est la largeur de la tol\u00e9rance par rapport \u00e0 la dispersion ? \u00bb<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Cgk<\/strong> \u2192 \u00ab Quelle tol\u00e9rance utilisable reste-t-il en tenant compte de la position r\u00e9elle du processus ? \u00bb<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><math display=\"block\"><semantics><mrow><msub><mi>C<\/mi><mi>g<\/mi><\/msub><mo>=<\/mo><mfrac><mrow><mi>U<\/mi><mi>S<\/mi><mi>L<\/mi><mo>\u2212<\/mo><mi>L<\/mi><mi>S<\/mi><mi>L<\/mi><\/mrow><mrow><mn>6<\/mn><mspace width=\"0.1667em\"><\/mspace><mi>\u03c3<\/mi><\/mrow><\/mfrac><\/mrow><annotation encoding=\"application\/x-tex\">C_g = \\frac{USL &#8211; LSL}{6\\,\\sigma}<\/annotation><\/semantics><\/math><br\/><math display=\"block\"><semantics><mrow><msub><mi>C<\/mi><mrow><mi>g<\/mi><mi>k<\/mi><\/mrow><\/msub><mo>=<\/mo><mrow><mi>min<\/mi><mo>\u2061<\/mo><\/mrow><mrow><mo fence=\"true\" form=\"prefix\">(<\/mo><mfrac><mrow><mi>U<\/mi><mi>S<\/mi><mi>L<\/mi><mo>\u2212<\/mo><mi>\u03bc<\/mi><\/mrow><mrow><mn>3<\/mn><mspace width=\"0.1667em\"><\/mspace><mi>\u03c3<\/mi><\/mrow><\/mfrac><mo separator=\"true\">,<\/mo><mfrac><mrow><mi>\u03bc<\/mi><mo>\u2212<\/mo><mi>L<\/mi><mi>S<\/mi><mi>L<\/mi><\/mrow><mrow><mn>3<\/mn><mspace width=\"0.1667em\"><\/mspace><mi>\u03c3<\/mi><\/mrow><\/mfrac><mo fence=\"true\" form=\"postfix\">)<\/mo><\/mrow><\/mrow><annotation encoding=\"application\/x-tex\">C_{gk} = \\min \\left( \\frac{USL &#8211; \\mu}{3\\,\\sigma}, \\frac{\\mu &#8211; LSL}{3\\,\\sigma} \\right)<\/annotation><\/semantics><\/math><\/td><td><math display=\"block\"><semantics><mtable displaystyle=\"true\" columnalign=\"right left\" class=\"tml-jot\"><mtr><mtd class=\"tml-right\" style=\"padding-left:0em;padding-right:0em;\"><mrow><mi>U<\/mi><mi>S<\/mi><mi>L<\/mi><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:0em;padding-right:0em;\"><mrow><mo>=<\/mo><mtext>Limite de sp\u00e9cification sup\u00e9rieure<\/mtext><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0em;padding-right:0em;\"><mrow><mi>L<\/mi><mi>S<\/mi><mi>L<\/mi><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:0em;padding-right:0em;\"><mrow><mo>=<\/mo><mtext>Limite de sp\u00e9cification inf\u00e9rieure<\/mtext><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0em;padding-right:0em;\"><mi>\u03bc<\/mi><\/mtd><mtd class=\"tml-left\" style=\"padding-left:0em;padding-right:0em;\"><mrow><mo>=<\/mo><mtext>Moyenne du processus<\/mtext><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0em;padding-right:0em;\"><mi>\u03c3<\/mi><\/mtd><mtd class=\"tml-left\" style=\"padding-left:0em;padding-right:0em;\"><mrow><mo>=<\/mo><mtext>\u00c9cart-type<\/mtext><\/mrow><\/mtd><\/mtr><\/mtable><annotation encoding=\"application\/x-tex\">\\begin{aligned} USL &amp;= \\text{Limite de sp\u00e9cification sup\u00e9rieure} \\\\ LSL &amp;= \\text{Limite de sp\u00e9cification inf\u00e9rieure} \\\\ \\mu &amp;= \\text{Moyenne du processus} \\\\ \\sigma &amp;= \\text{\u00c9cart-type} \\end{aligned}<\/annotation><\/semantics><\/math><\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h3 class=\"wp-block-heading\">6.2 Insertion des valeurs<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>LSL = 2,95 mm<\/li>\n\n\n\n<li>USL = 3,05 mm<\/li>\n\n\n\n<li>Largeur de tol\u00e9rance = 0,10 mm<\/li>\n\n\n\n<li>\u03c3 = 0,0025 mm \u21d2 6\u03c3 = 0,015 mm, 3\u03c3 = 0,0075 mm<\/li>\n\n\n\n<li>\u00b5 = 3,043 mm<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>Cg :<\/strong><br\/>Cp = 0,10 \/ 0,015 \u2248 <strong>6,67<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Cgk :<\/strong><br\/>(USL \u2212 \u00b5) \/ (3\u03c3) = (3,05 \u2212 3,043) \/ 0,0075 \u2248 <strong>0,93<\/strong><br\/>(\u00b5 \u2212 LSL) \/ (3\u03c3) = (3,043 \u2212 2,95) \/ 0,0075 \u2248 <strong>12,4<\/strong><br\/>Cgk = min(0,93; 12,4) = <strong>0,93<\/strong><\/p>\n\n<h3 class=\"wp-block-heading\">6.3 Interpr\u00e9tation<\/h3>\n\n<ul class=\"wp-block-list\">\n<li><strong>Cg tr\u00e8s \u00e9lev\u00e9 :<\/strong> la dispersion est tr\u00e8s faible par rapport \u00e0 la tol\u00e9rance \u2192 mesure tr\u00e8s pr\u00e9cise.<\/li>\n\n\n\n<li><strong>Cgk nettement plus faible que Cg :<\/strong> la moyenne est proche de l\u2019USL. Cela n\u2019indique pas \u00ab trop de bruit \u00bb, mais un <strong>d\u00e9calage\/offset<\/strong> (p. ex. composant r\u00e9el l\u00e9g\u00e8rement surdimensionn\u00e9, \u00e9talonnage, seuils, biais d\u2019ajustement). <\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">7. Conseils pratiques : comment obtenir de mani\u00e8re fiable des performances subpixel<\/h2>\n\n<p class=\"wp-block-paragraph\">La pr\u00e9cision subpixel r\u00e9sulte de bonnes conditions d\u2019image \u2014 pas de la \u00ab magie \u00bb :<\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Contraste \u00e9lev\u00e9 et stable<\/strong> au niveau du bord (pas d\u2019artefacts de flare)<\/li>\n\n\n\n<li><strong>Pas de saturation<\/strong> (ne pas tronquer les profils)<\/li>\n\n\n\n<li><strong>Bonne mise au point \/ optique stable<\/strong> (MTF)<\/li>\n\n\n\n<li><strong>Bon SNR<\/strong> (exposition adapt\u00e9e, \u00e9clairage stable)<\/li>\n\n\n\n<li><strong>Ajustement robuste<\/strong> (suffisamment de points, mod\u00e8le plausible)<\/li>\n\n\n\n<li><strong>Param\u00e8tres d\u2019\u00e9valuation constants<\/strong> (sinon le biais d\u00e9rive)<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\">8. Conclusion<\/h2>\n\n<p class=\"wp-block-paragraph\">Cet exemple montre pourquoi les mesures lat\u00e9rales ne sont pas limit\u00e9es \u00e0 la taille des pixels : gr\u00e2ce \u00e0 la r\u00e9partition du signal sur plusieurs pixels, la position des bords et des g\u00e9om\u00e9tries qui en sont d\u00e9riv\u00e9es peut \u00eatre d\u00e9termin\u00e9e avec une pr\u00e9cision subpixel. Dans la s\u00e9rie de mesures, nous atteignons une r\u00e9p\u00e9tabilit\u00e9 de <strong>\u03c3 \u2248 2,5 \u00b5m<\/strong>, alors que la taille de pixel lat\u00e9rale est d\u2019environ <strong>30 \u00b5m<\/strong>. <\/p>\n\n<p class=\"wp-block-paragraph\">La taille de pixel lat\u00e9rale n\u2019est pas la limite physique de la pr\u00e9cision de mesure \u2014 elle n\u2019est que la base d\u2019\u00e9chantillonnage d\u2019un signal continu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00ab Un pixel est la plus petite unit\u00e9 lat\u00e9rale mesurable. \u00bb Cela vaut pour un simple comptage de pixels \u2014 mais pas pour la d\u00e9termination de la position de bords, de lignes ou de centres. <\/p>\n","protected":false},"author":4,"featured_media":28357,"template":"","class_list":["post-29167","tutorial","type-tutorial","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/tutorial\/29167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/tutorial"}],"about":[{"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/types\/tutorial"}],"author":[{"embeddable":true,"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/users\/4"}],"version-history":[{"count":1,"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/tutorial\/29167\/revisions"}],"predecessor-version":[{"id":29168,"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/tutorial\/29167\/revisions\/29168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/media\/28357"}],"wp:attachment":[{"href":"https:\/\/www.heliotis.com\/fr\/wp-json\/wp\/v2\/media?parent=29167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}