Menu

Resimdeki nesnelerin koordinatlarını alma

Bir resim gövdesi ve İngilizce bir yorum gönderin ve verilen nesnelerin 6 adede kadar koordinat setini alın. Nokta koordinatlarının yanı sıra dikdörtgen koordinatları da isteyebilirsiniz. Bir taraftaki maksimum görüntü boyutu 500 pikseldir. Bundan daha büyük görüntüler çalışanın arayüzünde küçültülecektir.

Image-to-Coordinates captcha example, select objects on the picture
Image-to-Coordinates captcha example, draw a rectangle above objects
"points" ve "rectangles" görevlerine bir örnek
Python
Node.js
Go
PHP
bash

Python dilinde Resimden koordinatlara nasıl çözülür

#pip3 install anticaptchaofficial

from anticaptchaofficial.imagetocoordinates import *

solver = imagetocoordinates()
solver.set_verbose(1)
solver.set_key("YOUR_KEY")
solver.set_mode("points")
solver.set_comment("Select objects in specified order")

coordinates = solver.solve_and_return_solution("coordinates.png")
if coordinates != 0:
    print("coordinates: ", coordinates)
else:
    print("task finished with error "+solver.error_code)

Node.js dilinde Resimden koordinatlara nasıl çözülür

//npm install @antiadmin/anticaptchaofficial
//https://github.com/anti-captcha/anticaptcha-npm

const ac = require("@antiadmin/anticaptchaofficial");
const fs = require('fs');

const captcha = fs.readFileSync('captcha.png', { encoding: 'base64' });

ac.setAPIKey('YOUR_API_KEY_HERE');

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);

ac.solveImageToCoordinates(captcha, "Select all objects in specified order", "points")
    .then(coordinates => console.log('image coordinates:', coordinates))
    .catch(error => console.log('test received error '+error));

Go dilinde Resimden koordinatlara nasıl çözülür

// Install with:
// go get github.com/anti-captcha/anticaptcha-go

package main

import (
    "encoding/base64"
    "fmt"
    "github.com/anti-captcha/anticaptcha-go"
    "log"
)

func main() {
    // Create API client and set the API Key
    ac := anticaptcha.NewClient("API_KEY_HERE")

    // set to 'false' to turn off debug output
    ac.IsVerbose = true

    // Specify softId to earn 10% commission with your app.
    // Get your softId here: https://anti-captcha.com/clients/tools/devcenter
    //ac.SoftId = 1187

    // Make sure the API key funds balance is positive
    balance, err := ac.GetBalance()
    if err != nil {
        log.Fatal(err)
        // Exit program to make sure you don't DDoS API with requests, while having empty balance
        return
    }
    fmt.Println("Balance:", balance)

    // Solve image-to-coordinates captcha
    imageData, err := ac.ReadImageFile("coordinates.jpg")
    if err != nil {
        log.Fatal(err)
    }
    solution, err := ac.SolveImageToCoordinates(base64.StdEncoding.EncodeToString(imageData), anticaptcha.ImageToCoordinates{
        Comment: "Select object in the specified order",
        Mode:    "points",
    })
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("Objects X,Y coordinates:", solution)
}

PHP dilinde Resimden koordinatlara nasıl çözülür

//git clone https://github.com/anti-captcha/anticaptcha-php.git

include("../anticaptcha.php");
include("../imagetocoordinates.php");

$api = new ImageToCoordinates();
$api->setVerboseMode(true);

//your anti-captcha.com account key
$api->setKey(readline("You API key: "));

//setting file
$api->setFile("captcha.jpg");
$api->setComment("Select all elephants");
$api->setMode("rectangles");

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
$api->setSoftId(0);

if (!$api->createTask()) {
    $api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
    return false;
}

$taskId = $api->getTaskId();


if (!$api->waitForResult()) {
    $api->debout("could not solve captcha", "red");
    $api->debout($api->getErrorMessage());
} else {
    $coordinates    =   $api->getTaskSolution();
    echo "\nresult:\n";
    print_r($coordinates);
    //check result, then if results is wrong:
    $api->reportIncorrectImageCaptcha();
}

bash dilinde Resimden koordinatlara nasıl çözülür

curl -i -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"ImageToCoordinatesTask",
            "body":"BASE64_BODY_HERE__NO_NEWLINES__NO_EXTRA_TAGS__ONLY_CLEAN_BASE64",
            "comment":"Select all elephants",
            "mode":"rectangles"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask

Görev nesnesi

Özellik Tür Zorunlu Amaç
type Dize Evet ImageToCoordinatesTask
Görevin bir tipini tanımlar.
body Dize Evet Dosya gövdesi base64 içinde şifrelenmiştir. Bunu satır sonları (line break) olmadan gönderdiğinizden emin olun. 'data:image/png,' veya benzeri etiketler eklemeyin, sadece temiz base64!
comment Dize Hayır Görev için yalnızca İngilizce karakterlerle yorumlar. Örnek: "Select objects in specified order" veya "select all cars".
mode Dize Hayır Görev modu, "points" veya "rectangles" olabilir. Varsayılan değer "points"tir.
websiteURL Dize Hayır Harcama istatistiklerinde resimli captchaların kaynağını ayırt etmek için opsiyonel parametre.

Görev çözüm nesnesi

Özellik Tür Amaç
coordinates Dize Koordinat kümesi dizisi. "points" modu için (x,y) kümesidir. "rectangles" için sol üstten sağ alta doğru (x1,y1,x2,y2) şeklindedir. Koordinatların başlangıcı sol üst köşedir.

Yanıt örneği

{
    "errorId":0,
    "status":"ready",
    "solution":
    {
      "coordinates":[
        [17,48,54,83],
        [76,93,140,164]
      ]
    },
    "cost":"0.000700",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}