日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

C++

本文介紹了如何使用阿里云視覺智能開放平臺的C++ SDK,具體包括SDK的安裝方法以及SDK代碼示例。

說明

阿里云視覺智能開放平臺各類目視覺AI能力SDK接入、接口使用或問題咨詢等,請通過釘釘群(23109592)加入阿里云視覺智能開放平臺咨詢群聯系我們。

環境要求:

  • 安裝支持C++ 11或更高版本的編譯器:

    • Windows:Visual Studio 2015或以上版本

    • Linux:GCC 4.9或以上版本

  • 安裝CMake 3.0或以上版本

  • 建議4 GB或以上內存。

準備工作

編譯安裝C++ SDK

本文以分割摳圖(imageseg)為例,演示如何使用C++ SDK調用開放視覺API能力。

  1. 獲取AccessKey,具體操作,請參見創建AccessKey

  2. 安裝aliyun-openapi-cpp-sdk。此處以在Ubuntu 18.04 Linux x64平臺編譯安裝的方式為例進行說明,對于其他平臺,推薦訪問官方代碼頁面并參照相關指示完成相應的編譯安裝工作。

  3. 安裝SDK所需要的依賴庫,包括libcurl, libopenSSL, libuuid和libjsoncpp。

    sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev libjsoncpp-dev

  4. 需要注意,部分版本的jsoncpp頭文件目錄結構可能會有差異,比如Ubuntu 18.04版本官方apt源安裝的jsoncpp庫的頭文件位于/usr/include/jsoncpp/json目錄下,請將該目錄鏈接到/usr/include/json下,保證在SDK源代碼中可以通過#include <json/json.h>找到對應的庫文件。(如果您的jsoncpp頭文件直接安裝在include目錄下的JSON目錄中,可跳過此步驟。)

  5. 克隆所需的SDK代碼:

    git clone https://github.com/aliyun/aliyun-openapi-cpp-sdk.git

  6. 分割摳圖對應的cmake命令中傳入的產品名稱是imageseg,如果您使用其他類目能力,可以參考準備工作中的表格,填寫對應的能力名稱。

    cd aliyun-openapi-cpp-sdk 
    mkdir sdk_build 
    cd sdk_build 
    cmake -DBUILD_PRODUCT=imageseg -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr 
    make 
    sudo make install
  7. 完成了對應的SDK編譯和安裝后,在/usr目錄下可以找到對應安裝在include下面的頭文件和lib/x86_64-linux-gnu下面的庫文件(不同的Linux發行版庫目錄位置可能不同,不影響后續的步驟,您也可以通過修改cmake中的CMAKE_INSTALL_PREFIX修改安裝目錄)。

  8. 完成上述步驟后,在lib目錄中可以找到兩個動態鏈接庫文件libalibabacloud-sdk-core.so和libalibabacloud-sdk-imageseg.so,您可以構建自己的代碼并鏈接這兩個庫文件,完成最終的圖像分割調用。

代碼示例

SDK示例如下,代碼以ImageSeg為例,其余類似。該方式目前只支持同region下OSS文件。

#include <cstdlib>
#include <iostream>
#include <alibabacloud/core/AlibabaCloud.h>
#include <alibabacloud/imageseg/ImagesegClient.h>

using namespace std;
using namespace AlibabaCloud;
using namespace AlibabaCloud::Imageseg;

int main( int argc, char** argv )
{
    AlibabaCloud::InitializeSdk();

    // 生成客戶端配置,此處目前只支持上海region。
    AlibabaCloud::ClientConfiguration configuration( "cn-shanghai" );

    // 為客戶端配置設置對應能力的訪問域名;
    // 比如圖像分割的域名是:"imageseg.cn-shanghai.aliyuncs.com",其他能力請參考對應文檔:http://bestwisewords.com/document_detail/143103.html。
    configuration.setEndpoint( "imageseg.cn-shanghai.aliyuncs.com" );

    // 創建AccessKey ID和AccessKey Secret,請參見:http://bestwisewords.com/document_detail/175144.html
    // 如果您使用的是RAM用戶的AccessKey,還需要為子賬號授予權限AliyunVIAPIFullAccess,請參見:http://bestwisewords.com/document_detail/145025.html
    // 從環境變量讀取配置的AccessKey ID和AccessKey Secret。運行代碼示例前必須先配置環境變量。
    AlibabaCloud::Credentials credential( getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET") );
    
    /* use STS Token
    credential.setSessionToken( "<your-sts-token>" );
    */
    ImagesegClient client( credential, configuration );

    Model::SegmentCommonImageRequest request;

    // 此處請填寫您的輸入圖像的OSS地址,目前僅支持在上海region的OSS地址。
    request.setImageURL( "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imageseg/SegmentCommonImage/SegmentCommonImage1.jpg" );

    // 客戶端執行請求。
    auto outcome = client.segmentCommonImage( request );

    // 判斷請求結果是否成功。
    if ( !outcome.isSuccess() )
    {
        // 如果請求結果失敗,則打印出對應的錯誤碼和錯誤信息
        std::cout << outcome.error().errorCode() << ": " << outcome.error().errorMessage() << std::endl;
        AlibabaCloud::ShutdownSdk();
        return(-1);
    }

    // 線上API處理完成之后會返回輸入圖像處理之后的結果URL,將結果URL輸入瀏覽器您就可以看到處理結果。
    std::cout << "Output imageURL: " << outcome.result().getData().imageURL << std::endl;

    AlibabaCloud::ShutdownSdk();
    return 0;
}

編譯示例代碼并最終調用圖像分割能力

目前C++ SDK僅支持上海Region的OSS,您需要處理的輸入圖像需要先存放在上海區域的OSS中,并獲取到對應圖像的URL作為SDK的輸入。具體操作如下:

  1. 將上述示例代碼存儲為test.cpp文件,并使用如下命令編譯,部分代碼需要按照以下要求進行修改:

    • 第19行:此處以圖像分割能力為例,對應的Endpoint為imageseg.cn-shanghai.aliyuncs.com。 更多關于訪問域名(Endpoint)信息,請參見訪問域名

    • 第22行:填入AccessKey,具體操作,請參見創建AccessKey

    • 第32行:此處輸入的URL就是您需要分割圖像的URL地址,您需要將圖像放在上海區域的OSS并填入對應的圖像URL。

  2. 使用如下命令編譯代碼:

    g++ -o test.out test.cpp --std=c++11 -lalibabacloud-sdk-core -l alibabacloud-sdk-imageseg
  3. 編譯完成后,得到可執行文件test.out,運行該文件可以得到圖像分割算法處理完成之后結果的圖像URL地址。您可將URL輸入瀏覽器查看最終的分割結果,也可以直接下載這個結果為后續操作之用。