亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP圖像識別技術原理與實現

2020-03-22 19:00:28
字體:
來源:轉載
供稿:網友
本篇文章主要介紹了PHP圖像識別技術原理與實現,這個平時做的密碼驗證有異曲同工之處,有需要的可以了解一下。

其實圖像識別技術與我們平時做的密碼驗證之類的沒有什么區別,都是事先把要校驗的數據入庫,然后使用時將錄入(識別)的數據與庫中的數據做對比,只不過圖像識別技術有一部分的容錯性,而我們平時的密碼驗證是要100%匹配。

前幾天,有朋友談到做游戲點擊抽獎,識別圖片中的文字,當時立馬想到的就是js控制或者flash做遮罩層,感覺這種辦法是最方便快捷效果好,而且節省服務器資源,但是那邊提的要求竟然是通過php識別圖像中的文字。

趕巧那兩天的新聞有:1、馬云人臉識別支付;2、12306使用新的驗證碼,說什么現在國內的搶票軟件都不能用了,發布不到一天就被破解。然后又很湊巧的那天早上看了一篇Java的圖像識別技術文章。于是就琢磨著看一下PHP的圖像識別技術。

其實所謂的圖像識別,已經不是什么新技術了,起碼我找到的資料都是很早之前的了。只不過我一直沒涉及到這方面的工作,就一直沒看過。

先說下這次實驗的需求:有一張圖片,里面三個位置分別有三個數字,要求取出相應位置的數字的值。(眼尖的同學可能會看出下面的代碼是我拿的別人的,沒錯,的確是我直接copy別人并刪減的,畢竟我對這些也是淺嘗輒止,最后會貼出原作者的初始代碼)

html' target='_blank'>class gjPhone{  protected $imgPath; // 圖片路徑  protected $imgSize; // 圖片大小  protected $hecData; // 分離后數組  protected $horData; // 橫向整理的數據  protected $verData; // 縱向整理的數據  function __construct ($path)  {    $this->imgPath = $path;  }  public function getHec ()  {    $size = getimagesize($this->imgPath);    $res = imagecreatefrompng($this->imgPath);    for ($i = 0; $i < $size[1]; ++ $i) {      for ($j = 0; $j < $size[0]; ++ $j) {        $rgb = imagecolorat($res, $j, $i);        $rgbarray = imagecolorsforindex($res, $rgb);        if ($rgbarray['red'] < 125 || $rgbarray['green'] < 125 ||             $rgbarray['blue'] < 125) {          $data[$i][$j] = 1;        } else {          $data[$i][$j] = 0;        }      }    }    $this->imgSize = $size;    $this->hecData = $data;  }  public function magHorData ()  {    $data = $this->hecData;    $size = $this->imgSize;    $z = 0;    for ($i = 0; $i < $size[1]; ++ $i) {      if (in_array('1', $data[$i])) {        $z ++;        for ($j = 0; $j < $size[0]; ++ $j) {          if ($data[$i][$j] == '1') {            $newdata[$z][$j] = 1;          } else {            $newdata[$z][$j] = 0;          }        }      }    }    return $this->horData = $newdata;  }  public function showPhone ($ndatas)  {    error_reporting(0);    $phone = null;    $d = 0;    foreach ($ndatas as $key => $val) {      if (in_array(1, $val)) {        foreach ($val as $k => $v) {          $ndArr[$d] .= $v;        }      }      if (! in_array(1, $val)) {        $d ++;      }    }    foreach ($ndArr as $key01 => $val01) {      $phone .= $this->initData($val01);    }    return $phone;  }  /**   * 初始數據   */  public function initData ($numStr)  {    $result = null;    $data = array(        '1' => '00000000111000000000000001110000000001001000100000000010100011000000000011000110000000000110000100000000010110011000000',        '5' => '00000000001000000000000000010000000000100100100000000000101001110000000000100000110000000011000000100000001101000010000',        '10' => '00000011100011100000000011001100100100100010010001000110000100100010001100001001000100011000010010001001001001100010100'    );    foreach ($data as $key => $val) {      similar_text($numStr, $val, $pre);      if ($pre > 95) { // 相似度95%以上        $result = $key;        break;      }    }    return $result;  }}$imgurl = 'jd.png';list ($width, $heght, $type, $attr) = getimagesize($imgurl);$new_w = 17;$new_h = 11;$thisimage = imagecreatetruecolor($new_w, $new_h); // $new_w, $new_h 為裁剪后的圖片寬高$background = imagecolorallocate($thisimage, 255, 255, 255);imagefilledrectangle($thisimage, 0, 0, $new_w, $new_h, $background);$oldimg = imagecreatefrompng($imgurl); // 載入原始圖片                    // 首先定位要取圖的位置(這里可以通過前端js或者其他手段定位,由于我這是測試,所以就ps定位并寫死了)$weizhi = array(    '1' => 165,    '5' => 308,    '10' => 456);foreach ($weizhi as $wwzz) {  $src_y = 108;  imagecopy($thisimage, $oldimg, 0, 0, $wwzz, $src_y, $new_w, $new_h); // $src_y,$new_w為原圖中裁剪區域的左上角坐標拷貝圖像的一部分將src_im圖像中坐標從src_x,src_y開始,寬度為src_w,高度為src_h的一部分拷貝到dst_im圖像中坐標為dst_x和dst_y的位置上。  $tem_png = 'tem_1.png';  imagepng($thisimage, __DIR__ . '/' . $tem_png); // 通過定位從原圖中copy出想要識別的位置并生成新的緩存圖,用以后面的圖像識別類使用。    $gjPhone = new gjPhone($tem_png); // 實例化類  $gjPhone->getHec(); // 進行圖像像素分離  $horData = $gjPhone->magHorData(); // 將分離出是數據轉成01表示的圖像、這里可以根據自己喜好定  $phone = $gjPhone->showPhone($horData); // 將轉換好的01表示的數據與庫中的數據進行匹配,匹配度95以上就算成功,庫這里由于是做測試就直接寫了數組  echo '| ' . $phone . ' | ';}        

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www.日韩不卡电影av| 欧美日韩在线影院| 国产福利视频一区二区| 国产精品久久久久久久久久| 亚洲精品一区中文字幕乱码| 亚洲最大福利网站| 亚洲色图第一页| 在线国产精品播放| 欧美第一黄色网| 欧美日韩在线视频首页| 91高潮在线观看| 国产精品成人免费电影| 欧美性少妇18aaaa视频| 中文日韩在线视频| 久久久久国产一区二区三区| 久久国产精品久久国产精品| 97视频在线观看视频免费视频| 91国自产精品中文字幕亚洲| 国产午夜精品全部视频在线播放| 视频在线一区二区| 国产精品激情av在线播放| 中文字幕亚洲第一| 欧美日韩另类字幕中文| 日韩少妇与小伙激情| 欧美午夜片欧美片在线观看| 日韩av电影院| 国产精品九九久久久久久久| 亚洲无亚洲人成网站77777| 国产精品久久久久77777| 亚洲欧美日韩网| 欧美成人精品不卡视频在线观看| 国产成人精品视频在线观看| 亚洲人成电影在线播放| 国内精品久久久久久影视8| 日韩av在线直播| 欧美日韩国产999| 国产精品日韩久久久久| 色哟哟网站入口亚洲精品| 91丝袜美腿美女视频网站| 欧美性猛交xxxx富婆弯腰| 国产丝袜一区二区| 人人爽久久涩噜噜噜网站| 欧美性xxxx极品hd满灌| 日韩亚洲欧美中文高清在线| 国产www精品| 欧美乱人伦中文字幕在线| 日韩成人在线免费观看| 成人免费在线视频网址| 国产精品美女免费看| 亚洲性猛交xxxxwww| 国产精品白丝jk喷水视频一区| 亚洲国产成人久久综合一区| 97不卡在线视频| 欧美日韩国产限制| 亚洲精品日韩在线| 欧美激情啊啊啊| 狠狠躁夜夜躁人人爽超碰91| 亚洲资源在线看| 国产精品激情自拍| 久久免费精品日本久久中文字幕| 成人免费xxxxx在线观看| 国产日韩欧美在线观看| 国产91ⅴ在线精品免费观看| 国产精品亚洲自拍| 色婷婷综合成人| 亚洲老板91色精品久久| 亚洲国产精品福利| 欧美影院久久久| 一区二区三区天堂av| 国产69精品久久久久9999| 久久精品国产2020观看福利| 北条麻妃久久精品| 亚洲第一av网站| 日韩大陆毛片av| 国产一区二区免费| 久久亚洲精品毛片| 国产亚洲精品一区二区| 日韩在线视频线视频免费网站| 亚洲黄色av网站| 久久久免费av| 国产精品视频26uuu| 国产日本欧美一区二区三区在线| 亚洲精品网站在线播放gif| 久久99久久亚洲国产| 爽爽爽爽爽爽爽成人免费观看| 亚洲欧美成人一区二区在线电影| 久精品免费视频| 久久av红桃一区二区小说| 日韩精品在线观| 亚洲国产精品va在线| 国产美女久久久| 精品无码久久久久久国产| 国产69精品久久久久9999| 中文字幕国产亚洲| 国产成人高潮免费观看精品| 超在线视频97| 日韩黄色av网站| 国产精品第七十二页| 国产在线精品自拍| 欧美日韩亚洲国产一区| 国产精品h在线观看| 青青草国产精品一区二区| 欧美精品videos| 欧美日韩亚洲网| 国产日韩欧美电影在线观看| 日韩电影免费在线观看| 成人黄色在线观看| 国产精品一区二区久久| 欧美性猛交xxxxx免费看| 亚洲一区二区三区在线视频| 狠狠操狠狠色综合网| 亚洲精品久久久久国产| 国产美女91呻吟求| 色播久久人人爽人人爽人人片视av| 日韩有码在线视频| 亚洲欧美中文另类| 在线视频国产日韩| 中文字幕日韩在线视频| 一区二区三区视频在线| 欧美黑人视频一区| 国模精品一区二区三区色天香| 亚洲精品资源美女情侣酒店| 欧美国产亚洲精品久久久8v| 成人欧美一区二区三区在线湿哒哒| 成人黄在线观看| 欧美日韩在线视频一区| 欧美黑人国产人伦爽爽爽| 亚洲国产美女精品久久久久∴| 亚洲最大的av网站| 中文字幕在线观看日韩| 欧美亚洲日本网站| 色999日韩欧美国产| 国产丝袜精品第一页| 精品亚洲aⅴ在线观看| 欧美激情二区三区| 亚洲视频视频在线| 欧美野外猛男的大粗鳮| 欧美激情网友自拍| 久久久久九九九九| 亚洲精品不卡在线| 国产精品91视频| 国内精品久久久久伊人av| 97视频免费在线观看| 91深夜福利视频| 国产91精品视频在线观看| 欧美专区在线视频| 成人女保姆的销魂服务| 亚洲女同性videos| 日韩精品久久久久久久玫瑰园| 国产91露脸中文字幕在线| 亚洲视频在线播放| 国产精自产拍久久久久久蜜| 精品久久久久久久久国产字幕| 日韩高清电影免费观看完整版| 91精品视频网站| 成人美女av在线直播| 美女视频黄免费的亚洲男人天堂| 精品无人区乱码1区2区3区在线| 国产精品pans私拍| 日本高清视频一区| 亚洲精品色婷婷福利天堂| 久久6精品影院| 亚洲第一页自拍| 久久久久久久国产精品视频|