{"id":6054,"date":"2026-04-26T14:39:00","date_gmt":"2026-04-26T17:39:00","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=6054"},"modified":"2026-04-26T14:53:52","modified_gmt":"2026-04-26T17:53:52","slug":"visao-computacional-com-php-e-rubix-ml","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/","title":{"rendered":"Vis\u00e3o Computacional com PHP e Rubix ML"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\">Vis\u00e3o Computacional com PHP e Rubix ML: Seja bem-vindo ao d\u00e9cimo s\u00e9timo cap\u00edtulo da nossa jornada. At\u00e9 aqui, treinamos o seu computador para entender n\u00fameros, categorias, textos e at\u00e9 o comportamento do tempo. Mas agora, vamos dar a ele algo que, at\u00e9 pouco tempo atr\u00e1s, parecia imposs\u00edvel para o PHP: &#8220;<strong>Olhos<\/strong>&#8220;.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Como desenvolvedor web e especialista em <strong>Rubix ML<\/strong>, sei que existe um mito de que o PHP serve apenas para formul\u00e1rios e bancos de dados. Hoje, vamos quebrar esse mito. Vamos entrar no mundo da <strong>Vis\u00e3o Computacional<\/strong>, aprendendo como transformar uma grade de pixels em dados matem\u00e1ticos que a sua IA pode entender. Prepare-se para ver seus projetos sob uma nova perspectiva.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Vis\u00e3o Computacional 1: Extra\u00e7\u00e3o de Caracter\u00edsticas e Processamento de Pixels com PHP<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar e compreender o mundo visual. No contexto do <strong>Rubix ML<\/strong>, isso n\u00e3o significa &#8220;ver&#8221; como um ser humano, mas sim converter imagens em representa\u00e7\u00f5es num\u00e9ricas (vetores) que possam ser processadas por algoritmos de aprendizado de m\u00e1quina.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">1. O Desafio da Imagem: O que \u00e9 um Pixel para o PHP?<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para n\u00f3s, uma imagem \u00e9 um rosto, uma paisagem ou um logotipo. Para o computador, uma imagem \u00e9 apenas uma <strong>matriz de n\u00fameros<\/strong>. Cada pixel possui valores que representam a intensidade das cores (geralmente Red, Green e Blue &#8211; RGB).<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O grande desafio da Vis\u00e3o Computacional com PHP \u00e9 a efici\u00eancia. Processar milh\u00f5es de pixels usando apenas loops <code>foreach<\/code> seria extremamente lento. \u00c9 por isso que o Rubix ML utiliza a extens\u00e3o <strong>Tensor<\/strong> para realizar opera\u00e7\u00f5es matriciais em alta velocidade, permitindo que o PHP manipule dados visuais de forma competitiva.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">2. Extra\u00e7\u00e3o de Caracter\u00edsticas (Feature Extraction)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">N\u00e3o podemos simplesmente jogar uma imagem bruta em um classificador e esperar que ele funcione bem. Precisamos de <strong>Feature Extraction<\/strong>. Este \u00e9 o processo de filtrar o que \u00e9 importante (formas, cores, texturas) e descartar o ru\u00eddo.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No Rubix ML, o componente principal para isso \u00e9 o <code>ImageEmbedder<\/code> ou o uso de Transformers espec\u00edficos para imagens. O objetivo \u00e9 reduzir a complexidade da imagem mantendo sua &#8220;identidade&#8221;.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplos de aplicabilidade em problemas reais:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Valida\u00e7\u00e3o de Documentos:<\/strong> Identificar se o upload feito por um candidato \u00e9 realmente uma foto de um documento ou apenas uma imagem aleat\u00f3ria.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Modera\u00e7\u00e3o de Conte\u00fado:<\/strong> Detectar automaticamente imagens inadequadas ou logotipos de concorrentes em an\u00fancios.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Leitura de Padr\u00f5es:<\/strong> Identificar se uma foto de perfil est\u00e1 bem iluminada e enquadrada para garantir a qualidade visual do portal.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">3. M\u00e3o na Massa: Convertendo Imagens em Dados<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para este exemplo, vamos aprender como carregar uma imagem e extrair seus dados brutos de pixels de uma forma que o Rubix ML consiga processar.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Passo 1: Preparando o Ambiente<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Voc\u00ea precisar\u00e1 da biblioteca GD ou ImageMagick instalada no seu servidor (comum na <a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\"noreferrer noopener\">Hostinger<\/a>) para que o PHP possa ler os arquivos de imagem.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Passo 2: O Pipeline de Processamento de Imagem<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Vamos usar o <code>ImageResizer<\/code> e o <code>ImageVectorizar<\/code> para transformar fotos de perfis de candidatos em vetores.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Datasets\\Unlabeled;\nuse Rubix\\ML\\Transformers\\ImageResizer;\nuse Rubix\\ML\\Transformers\\ImageVectorizar;\nuse Rubix\\ML\\Transformers\\ZScaleStandardizer;\n\n\/\/ Suponha que temos um array de caminhos para as imagens\n$images = &#91;\n    'uploads\/perfil_01.jpg',\n    'uploads\/perfil_02.png',\n];\n\n\/\/ Carregamos as imagens (o Rubix ML lida com o recurso de imagem internamente)\n$samples = &#91;];\nforeach ($images as $path) {\n    $samples&#91;] = &#91;imagecreatefromjpeg($path)]; \/\/ Ou imagecreatefrompng\n}\n\n$dataset = new Unlabeled($samples);\n\n\/**\n * Criamos o Pipeline de Vis\u00e3o\n * 1. Redimensionamos para 32x32 para manter a performance (1024 pixels totais)\n * 2. Convertemos a imagem em um vetor num\u00e9rico (Flattening)\n * 3. Normalizamos os valores para que fiquem na mesma escala\n *\/\n$transformer = new Pipeline(&#91;\n    new ImageResizer(32, 32),\n    new ImageVectorizar(),\n    new ZScaleStandardizer(),\n]);\n\n$transformer-&gt;apply($dataset);\n\necho \"Imagem convertida em um vetor de \" . count($dataset-&gt;sample(0)) . \" dimens\u00f5es.\";\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">4. T\u00e9cnicas de Processamento de Pixels<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Ao trabalhar com pixels no PHP, existem tr\u00eas transforma\u00e7\u00f5es fundamentais que voc\u00ea deve conhecer para melhorar a precis\u00e3o da sua IA:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Grayscale (Tons de Cinza):<\/strong> Se a cor n\u00e3o for importante para o problema (ex: reconhecer o formato de um CPF), converter para cinza reduz o volume de dados em 3 vezes, acelerando o treino.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Thresholding (Limiariza\u00e7\u00e3o):<\/strong> Transformar a imagem em preto e branco puro. \u00c9 excelente para OCR (Reconhecimento de Caracteres) em curr\u00edculos escaneados.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Histogram of Oriented Gradients (HOG):<\/strong> Uma t\u00e9cnica avan\u00e7ada que foca na dire\u00e7\u00e3o das bordas da imagem. \u00c9 o que permite ao algoritmo entender &#8220;formas&#8221; independentemente da cor.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">5. Vis\u00e3o Computacional e Performance no Servidor<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Rodar processamento de imagens na <strong>Hostinger<\/strong> exige cuidado. Imagens consomem muita mem\u00f3ria RAM.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Redimensione cedo:<\/strong> Nunca tente processar uma imagem de 12 megapixels. Reduza-a para algo entre 32&#215;32 e 128&#215;128 pixels antes de aplicar qualquer algoritmo de ML.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Use o Tensor:<\/strong> Sem a extens\u00e3o <code>tensor<\/code>, o PHP ter\u00e1 dificuldades em processar vetores grandes. Verifique no seu <code>phpinfo()<\/code> se ela est\u00e1 ativa.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Processamento em Lote (Batch):<\/strong> Se voc\u00ea tem milhares de fotos para processar, fa\u00e7a isso via CLI (linha de comando) usando um Worker, nunca durante a requisi\u00e7\u00e3o HTTP do usu\u00e1rio.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">6. Aplicabilidade: O &#8220;Filtro de Qualidade&#8221;<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Imagine que voc\u00ea quer garantir que todos os candidatos no nosso exemplo de solu\u00e7\u00e3o para recrutamento e sele\u00e7\u00e3o tenham uma foto de perfil profissional. Voc\u00ea pode treinar um modelo simples:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Colete 100 fotos &#8220;profissionais&#8221; e 100 fotos &#8220;inadequadas&#8221; (memes, paisagens, fotos desfocadas).<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Extraia as caracter\u00edsticas usando o c\u00f3digo que vimos acima.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Treine um classificador (como um <strong>Random Forest<\/strong> ou <strong>SVC<\/strong>).<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Quando o candidato fizer o upload, sua IA diz: <em>&#8220;Ops! Esta foto parece n\u00e3o ser profissional. Que tal escolher outra?&#8221;<\/em><\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Isso eleva o n\u00edvel de autoridade do seu portal e economiza tempo de modera\u00e7\u00e3o manual.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Conclus\u00e3o: O PHP agora Enxerga o Sucesso<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Vis\u00e3o Computacional com PHP e Rubix ML: A <strong>Vis\u00e3o Computacional com Rubix ML<\/strong> abre um novo horizonte para voc\u00ea como desenvolvedor. Aprendemos que o PHP \u00e9 perfeitamente capaz de &#8220;ler&#8221; pixels e transform\u00e1-los em intelig\u00eancia. Ao dominar a extra\u00e7\u00e3o de caracter\u00edsticas, voc\u00ea deixa de apenas &#8220;armazenar arquivos&#8221; e passa a &#8220;entender o conte\u00fado&#8221; desses arquivos.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Este \u00e9 apenas o primeiro passo na vis\u00e3o computacional. No pr\u00f3ximo artigo, vamos subir o n\u00edvel com <strong>&#8220;Vis\u00e3o Computacional 2: Classifica\u00e7\u00e3o de imagens e detec\u00e7\u00e3o de padr\u00f5es complexos&#8221;<\/strong>, onde ensinaremos sua IA a realmente diferenciar objetos dentro de uma foto.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o Rubix ML, se este for o seu caso, entendemos que toda jornada tem um in\u00edcio. Vamos entender quais s\u00e3o os conhecimentos b\u00e1sicos necess\u00e1rios para aproveitar ao m\u00e1ximo esta poderosa biblioteca. Para iniciar seus estudos do Rubix ML, voc\u00ea precisar\u00e1 dominar as seguintes tecnologias e\/ou framework:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/php\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png\" alt=\"Capa Curso PHP\" class=\"wp-image-2835\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">PHP<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/sql\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp\" alt=\"SQL\" class=\"wp-image-942\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">SQL<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/laravel\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp\" alt=\"Laravel\" class=\"wp-image-1642\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">Laravel<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/cakephp\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png\" alt=\"CakePHP\" class=\"wp-image-5819\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CakePHP<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Dica de Especialista:<\/strong> Se voc\u00ea estiver lidando com muitas imagens, utilize o <code>Flysystem<\/code> para gerenciar os uploads de forma organizada antes de pass\u00e1-los para o Rubix ML. Manter a infraestrutura limpa \u00e9 t\u00e3o importante quanto ter um modelo preciso!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Vis\u00e3o Computacional com PHP e Rubix ML: Seja bem-vindo ao d\u00e9cimo s\u00e9timo cap\u00edtulo da nossa&#8230;<\/p>\n","protected":false},"author":1,"featured_media":5935,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98],"tags":[],"class_list":["post-6054","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rubix-ml","wpcat-98-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vis\u00e3o Computacional com PHP e Rubix ML - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vis\u00e3o Computacional com PHP e Rubix ML - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-26T17:39:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-26T17:53:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Vis\u00e3o Computacional com PHP e Rubix ML\",\"datePublished\":\"2026-04-26T17:39:00+00:00\",\"dateModified\":\"2026-04-26T17:53:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/\"},\"wordCount\":1092,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"articleSection\":[\"Rubix ML\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/\",\"name\":\"Vis\u00e3o Computacional com PHP e Rubix ML - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"datePublished\":\"2026-04-26T17:39:00+00:00\",\"dateModified\":\"2026-04-26T17:53:52+00:00\",\"description\":\"Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"width\":758,\"height\":426,\"caption\":\"Rubix ML\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/visao-computacional-com-php-e-rubix-ml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vis\u00e3o Computacional com PHP e Rubix ML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vis\u00e3o Computacional com PHP e Rubix ML - BLOG THIAGO ROSSI","description":"Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/","og_locale":"pt_BR","og_type":"article","og_title":"Vis\u00e3o Computacional com PHP e Rubix ML - BLOG THIAGO ROSSI","og_description":"Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar...","og_url":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2026-04-26T17:39:00+00:00","article_modified_time":"2026-04-26T17:53:52+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Vis\u00e3o Computacional com PHP e Rubix ML","datePublished":"2026-04-26T17:39:00+00:00","dateModified":"2026-04-26T17:53:52+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/"},"wordCount":1092,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","articleSection":["Rubix ML"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/","url":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/","name":"Vis\u00e3o Computacional com PHP e Rubix ML - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","datePublished":"2026-04-26T17:39:00+00:00","dateModified":"2026-04-26T17:53:52+00:00","description":"Vis\u00e3o Computacional com PHP e Rubix ML: A Vis\u00e3o Computacional \u00e9 a \u00e1rea da Intelig\u00eancia Artificial que treina computadores para interpretar...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","width":758,"height":426,"caption":"Rubix ML"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/visao-computacional-com-php-e-rubix-ml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Vis\u00e3o Computacional com PHP e Rubix ML"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6054"}],"version-history":[{"count":8,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6054\/revisions"}],"predecessor-version":[{"id":6063,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6054\/revisions\/6063"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/5935"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}