G OCR
O GOCR é um software OCR 1) que serve para transformar imagens em texto. Com ele você pode digitalizar um jornal impresso ou coisa assim. Existe vários software comercial muito bons para essa utilidade mas o GOCR é extremamente configurável e roda em linha de comando, sendo perfeito para automatizar tarefas. Implementar um Anti Captcha2) usando o GOCR é totalmente viável, basta paciência.
Site Oficial: http://jocr.sourceforge.net/index.html
O código PHP abaixo foi usando para buscar uma imagem em um site, e via OCR achar um texto nessa imagem, que posteriormente era gravado num banco de dados. Não é a versão final nem está funcional mas dá uma ideia do que pode se feito.
$Dir = "/images"; $GOCR_CMD="/usr/bin/gocr ". $Dir . $item. "_".$p_date['year'].".png"; exec("$WGET_CMD",$output,$return_var); if ($return_var==0) { //Tudo bem // echo "ok <br>\n"; //foreach($output as $out) // echo "$out <br>\n"; exec("$GOCR_CMD",$output,$return_var); if ($return_var==0) { // echo "ok <br>\n"; // echo $output[8] . " <BR> \n"; for($i=0;$i<sizeof($output);$i++){ //Procurando pela string "TTLB" na saida do comando OCR if (strstr($output[$i],"TTLB")){ //$this->logMessage($output[$i+1], "err"); $saida= explode(":",$output[$i+1]); } } $saida= explode(" ",$saida[2]); $ttlb = rtrim($saida[0],"s"); // O OCR nao sabe diferenciar o "l" do "1" e o "0" do "O" (um e éle, zero e Ã) $ttlb = strtr($ttlb, "l", "1"); $ttlb = strtr($ttlb, "O", "0"); return $ttlb; //echo "TTLB: ". $ttlb . " s <BR> \n"; } else { echo "Erro ao executar '$GOCR_CMD' : $return_var<br> Descrição: \n"; foreach($output as $out) echo "$out <br>\n"; return 0; } }
Discussão