2016-10-17 41 views
0

新谷歌雲願景API,我想用他們的主色的功能,從圖片中提取顏色。下面是我的代碼是在Terrence Ryan's Blog谷歌雲願景IMAGE_PROPERTIES返回10種顏色/結果無論我在什麼樣的形象和的maxResults什麼價值參數

$cvurl = "https://vision.googleapis.com/v1/images:annotate?key=API_KEY"; 

    $data = file_get_contents($cache_job); 
    $base64 = base64_encode($data); 
    //Create this JSON 
    $r_json ='{ 
     "requests": [ 
      { 
       "image": { 
       "content":"' . $base64. '" 
       }, 
       "features": [ 
        { 
        "type": "IMAGE_PROPERTIES", 
        "maxResults": 200 
        } 
       ] 
      } 
     ] 
    }'; 

    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $cvurl); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json")); 
    curl_setopt($curl, CURLOPT_POST, true); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $r_json); 
    $json_response = curl_exec($curl); 
    $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
    curl_close($curl); 

    if ($status != 200) { 
     die("Error: $cvurl failed status $status"); 
    } 

代碼工作的基礎,但我得到了一些問題吧。圖像上有一些明顯的顏色,但未包含在API響應中。所以我認爲增加結果數量可以解決問題,但後來我發現將「maxResults」參數(Google API文檔:要返回的結果數量)參數更改爲任何值都不會影響響應的任何內容。即使將參數設置爲小於10並且即使我改變了圖像,結果的數量也固定爲10種顏色。 Google的API文檔沒有提及任何內容,所以我想知道你們中的任何一個人是否已經體驗過它。

回答

0

我只是這個嘗試我和我有同樣的結果。 當做LABEL_DETECTION和限制結果爲1例如,我得到1結果。 選擇IMAGE_PROPERTIES並減少maxResults似乎沒有影響結果。

我試圖用幾種顏色的小圖像和不過只收到6個結果。 結果進行了結構是這樣的:

  { 
       "color": { 
       "red": 198, 
       "green": 218, 
       "blue": 199 
       }, 
       "score": 0.0016616513, 
       "pixelFraction": 0.0016666667 
      } 

我的猜測是,他們有成績的截止點,他們下降的其他結果。

出於好奇,你爲什麼要提取這麼多主色?這並不意味着從圖像中提取所有顏色。這是你想實現的嗎?

+0

我創建一個應用程序,這將有助於我的用戶在選擇的顏色爲自己的網頁主題,在那裏他們可以上傳圖片或其他網頁中,我將提取的顏色,並把它們添加到顏色的用戶的選擇,甚至截圖而不僅僅是給他們一個色輪/選擇器。事情是,有時甚至明顯的顏色不返回/檢測。一個例子是facebook的登錄頁面截圖,API的響應甚至沒有藍色,這是整個頁面的標題。 –

相關問題