Google Vision OCR 爬坑建議
首先安裝 Google Vision shell composer require google/cloud-vision
第一次使用的時候真的遇到的問題很多,文檔是英文的,自己慢慢摸索的途中不免進行去百度
和google
搜索 但是搜索出來的結果卻不盡人意,可能是搜索方式不太對哈哈~,其實使用蠻簡單,因為是別人現成對輪子,只不過使用對時候坑比較多, 所以特別列出以下幾點。 1. 身份認證(就這個身份認證我搞了2個小時) 2. $vision->image($img_path)
圖片如果傳入url的話會拋出異常
身份認證
進入 https://console.cloud.google.com/ 在列表里面找到api與服務選擇憑據,創建憑據,選擇服務帳號與密鑰進行創建,我選擇的格式是json 這個就是我們需要的憑據,導出以后放進項目
php require 'vendor/autoload.php'; use Google\Cloud\Vision\VisionClient; $vision = new VisionClient( [ 'keyFile' => jsondecode(filegetcontents($keypath), true) ] );
到這里身份認證就沒有問題了,還有其他的方式,可自行研究,文檔太高深,說實話不太喜歡閱讀。
圖片導入以及function
選擇
在google官方提供的文檔當中是這樣寫的demo
require 'vendor/autoload.php'; use Google\Cloud\Vision\VisionClient; $vision = new VisionClient(); // Annotate an image, detecting faces. $image = $vision->image( fopen('/data/family_photo.jpg', 'r'), ['faces'] ); $annotation = $vision->annotate($image); // Determine if the detected faces have headwear. foreach ($annotation->faces() as $key => $face) { if ($face->hasHeadwear()) { echo "Face $key has headwear.\n"; } }
['faces']features方法是可以多傳的,更具需求傳入,在最后我列出了所有的features。
這里還存在一個問題,我的圖片是url,我嘗試使用
fopen和
filegetcontents`打開一個url,但是被拋出了異常(異常沒深究,太高端看不懂,咱也不敢問), 最后是這樣成功的,並成功拿到了返回。
[ 'faces', // Corresponds to `FACE_DETECTION` 'landmarks', // Corresponds to `LANDMARK_DETECTION` 'logos', // Corresponds to `LOGO_DETECTION` 'labels', // Corresponds to `LABEL_DETECTION` 'text', // Corresponds to `TEXT_DETECTION`, 'document', // Corresponds to `DOCUMENT_TEXT_DETECTION` 'safeSearch', // Corresponds to `SAFE_SEARCH_DETECTION` 'imageProperties',// Corresponds to `IMAGE_PROPERTIES` 'crop', // Corresponds to `CROP_HINTS` 'web' // Corresponds to `WEB_DETECTION` ]
features
[ 'faces', // Corresponds to `FACE_DETECTION` 'landmarks', // Corresponds to `LANDMARK_DETECTION` 'logos', // Corresponds to `LOGO_DETECTION` 'labels', // Corresponds to `LABEL_DETECTION` 'text', // Corresponds to `TEXT_DETECTION`, 'document', // Corresponds to `DOCUMENT_TEXT_DETECTION` 'safeSearch', // Corresponds to `SAFE_SEARCH_DETECTION` 'imageProperties',// Corresponds to `IMAGE_PROPERTIES` 'crop', // Corresponds to `CROP_HINTS` 'web' // Corresponds to `WEB_DETECTION` ]
以上初次使用的坑,見識略薄(也可能是我的理解和使用方式不對),也希望你們在使用的過程中能有所幫助!