Menu

مختصات اشیا در یک تصویر را به دست می‌آورد

یک بدنه تصویری، یک توضیح (کامنت) را به انگلیسی منتشر کنید تا ۶ مجموعه مختصات اشیای معین را دریافت کنید. می‌توانید مختصات نقطه و همین‌طور مختصات مستطیل را درخواست کنید. حداکثر اندازه تصویر در یک طرف ۵۰۰ پیکسل است. اندازه تصاویر بزرگ‌تر طبق واسط کاربری کارگر کوچک می‌شود.

Image-to-Coordinates captcha example, select objects on the picture
Image-to-Coordinates captcha example, draw a rectangle above objects
نمونه ای از وظایف "points" و "rectangles".
Python
Node.js
Go
PHP
bash

چگونه تصویر به مختصات را در 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)

چگونه تصویر به مختصات را در 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));

چگونه تصویر به مختصات را در 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)
}

چگونه تصویر به مختصات را در 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();
}

چگونه تصویر به مختصات را در 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

شیء وظیفه

خصوصیت نوع ضروری هدف
type رشته بله ImageToCoordinatesTask
نوع وظیفه را تعیین می‌کند.
body رشته بله بدنه فایل که با base64 رمزگذاری شده است. حتماً آن را بدون شکستِ خطوط ارسال کنید. برچسب 'data:image/png,' یا برچسب‌های مشابه را در آن قرار ندهید، باید فقط base64 خالص وجود داشته باشد!
comment رشته خیر توضیحات (کامنت‌ها) وظیفه باید فقط با کاراکترهای انگلیسی باشند. مثال: "select all cars" یا "Select objects in specified order".
mode رشته خیر حالت وظیفه، می‌تواند «نقاط» یا «مستطیل‌ها» باشد. حالت پیش‌فرض، «نقاط» است.
websiteURL رشته خیر پارامتر اختیاری برای متمایزکردن منبع کپچاهای تصویری در آمارهای هزینه.

شیء راه‌حل وظیفه

خصوصیت نوع هدف
coordinates رشته آرایه‌ای از مجموعه مختصات. برای حالت «نقاط»، مجموعه (x,y) تنظیم می‌شود. برای «مستطیل‌ها» هم (x1,y1,x2,y2) است که از بالا به چپ شروع می‌شود تا پایین به راست. شروع مختصات در گوشه بالا سمت چپ است.

نمونه پاسخ

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