Menu

Koordinaten von Objekten in einem Bild abrufen

Geben Sie ein Bild und einen Kommentar in englischer Sprache ein und erhalten Sie bis zu 6 Koordinatensätze von bestimmten Objekten. Sie können sowohl Punktkoordinaten als auch Rechteckkoordinaten anfordern. Die maximale Bildgröße an einer Seite beträgt 500 Pixel. Bilder, die größer sind, werden an der Arbeiter-Schnittstelle herunterskaliert.

Image-to-Coordinates captcha example, select objects on the picture
Image-to-Coordinates captcha example, draw a rectangle above objects
Ein Beispiel für "Punkt"- und "Rechteck"-Aufgaben
Python
Node.js
Go
PHP
bash

So lösen Sie Bild zu Koordinaten in Python

#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)

So lösen Sie Bild zu Koordinaten in Node.js

//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));

So lösen Sie Bild zu Koordinaten in Go

// 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)
}

So lösen Sie Bild zu Koordinaten in PHP

//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();
}

So lösen Sie Bild zu Koordinaten in bash

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

Aufgabenobjekt

Wert Art Erforderlich Zweck
type String Ja ImageToCoordinatesTask
Definiert den Aufgabentyp.
body String Ja Dateikörper in base64 kodiert. Achten Sie darauf, dass Sie ihn ohne Zeilenumbrüche senden. Fügen Sie keine 'data:image/png,' oder ähnliche Tags ein, nur sauberes base64!
comment String Nein Kommentare zur Aufgabe nur in englischen Zeichen. Beispiel: "Select objects in specified order" oder "select all cars".
mode String Nein Aufgabenmodus, kann "Punkte" oder "Rechtecke" sein. Die Standardeinstellung ist "Punkte".
websiteURL String Nein Optionaler Parameter zur Unterscheidung der Bild-Captcha-Quelle in der Ausgabenstatistik.

Aufgabenlösungsobjekt

Wert Art Zweck
coordinates String Array mit einer Reihe von Koordinaten. Für "Punkt"-Modus wird (x,y) gesetzt. Für "Rechtecke" ist es (x1,y1,x2,y2), beginnend von oben-links nach unten-rechts. Die Koordinaten beginnen in der linken oberen Ecke.

Antwort-Beispiel

{
    "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"
}