Menu

الحصول على إحداثيات الكائنات المتواجدة في صورة

انشر صورة وتعليقًا باللغة الإنجليزية واحصل على ما يصل إلى 6 مجموعات من إحداثيات الكائنات المحددة. يمكنك طلب إحداثيات النقطة، بالإضافة إلى إحداثيات المستطيل. الحد الأقصى لحجم الصورة على جانب واحد هو 500 بكسل. سيتم تصغير حجم الصور الأكبر من ذلك في واجهة العامل.

Image-to-Coordinates captcha example, select objects on the picture
Image-to-Coordinates captcha example, draw a rectangle above objects
مثال على مهام "النقاط" و"المستطيلات".
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 String مطلوبة ImageToCoordinatesTask
وظيفة هذه الخاصية تحديد نوع المهمة
body String مطلوبة نص الملف المشفر بنظام base64. تأكد من إرسال النص بدون فواصل بين الأسطر. كذلك يرجى عدم ارسال (امتدادات مثل jpg أو png) أو علامات مشابهة، فقط نص مكتوب بترميز base64!
comment String غير مطلوبة التعليقات على المهمة بالأحرف الإنجليزية فقط. مثال: "قم بتحديد كافة السيارات الموجودة" أو "قم بتحديد الكائنات الموجودة بترتيب معين".
mode String غير مطلوبة نوعية المهمة، يمكن أن يكون "points" أو "rectangles". الخيار الافتراضي هو "points".
websiteURL String غير مطلوبة خاصية اختيارية لتمييز مصدر رموز التحقق المُصورة في إحصائيات عمليات الدفع.

كائن حل المهمة

الخاصية نوع الخاصية الوظيفة
coordinates String هي عبارة عن مجموعة من الإحداثيات. بالنسبة إلى وضع "points"، تم تعيينها بصيغة (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"
}