全部产品
Search
文档中心

Object Storage Service:Deteksi Kendaraan

更新时间:Nov 09, 2025

Gunakan fitur deteksi kendaraan untuk mendeteksi informasi kendaraan dan pelat nomor dalam sebuah citra. Topik ini menjelaskan parameter yang dapat ditentukan saat menggunakan fitur ini serta memberikan contoh cara mendeteksi informasi tersebut.

Skenario

  • Manajemen lalu lintas: Deteksi kendaraan digunakan dalam sistem pemantauan dan manajemen lalu lintas, seperti mengidentifikasi citra pelanggaran lalu lintas untuk membantu memproses pelanggaran tersebut.

  • Identifikasi kendaraan abnormal: Fitur ini mendeteksi gambar yang diunggah ke bucket Object Storage Service (OSS) untuk mengidentifikasi informasi kendaraan dan pelat nomor.

    Catatan

    Informasi kendaraan mencakup lokasi, warna, dan jenis kendaraan. Informasi pelat nomor mencakup lokasi dan teks pelat nomor.

  • Analisis lalu lintas: Pendeteksian kendaraan membantu menganalisis penggunaan jalan dan distribusi lalu lintas.

Cara menggunakan

Prasyarat

Deteksi kendaraan

Kode sampel berikut menunjukkan cara menentukan parameter untuk mendeteksi informasi kendaraan dan pelat nomor dalam sebuah citra menggunakan SDK OSS untuk bahasa pemrograman umum. Jika Anda ingin menggunakan bahasa pemrograman lain, modifikasi parameter berdasarkan kode sampel ini.

Java

OSS SDK for Java 3.17.4 atau versi lebih baru diperlukan.

import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.GetObjectRequest;
import com.aliyuncs.exceptions.ClientException;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class Demo1 {
    public static void main(String[] args) throws ClientException, ClientException {
        // Tentukan endpoint dari wilayah tempat bucket berada.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan ID wilayah Alibaba Cloud tempat bucket berada. Contoh: cn-hangzhou.
        String region = "cn-hangzhou";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket.
        String bucketName = "examplebucket";
        // Jika citra disimpan di direktori root bucket, masukkan nama citra. Jika citra tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap citra. Contoh: exampledir/example.jpg.
        String key = "example.jpg";

        // Buat instance OSSClient.
        // Panggil metode shutdown untuk melepaskan sumber daya ketika OSSClient tidak lagi digunakan.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Buat instruksi pemrosesan untuk mendeteksi informasi kendaraan dan informasi pelat nomor dalam citra.
            GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
            getObjectRequest.setProcess("image/cars");

            // Gunakan parameter process metode getObject untuk mengirimkan instruksi pemrosesan.
            OSSObject ossObject = ossClient.getObject(getObjectRequest);

            // Baca dan tampilkan hasil kueri.
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = ossObject.getObjectContent().read(buffer)) != -1) {
                baos.write(buffer, 0, bytesRead);
            }
            String imageCars = baos.toString("UTF-8");
            System.out.println("Image Cars:");
            System.out.println(imageCars);
        } catch (IOException e) {
            System.out.println("Error: " + e.getMessage());
        } finally {
            // Matikan instance OSSClient.
            ossClient.shutdown();
        }
    }
}

Python

OSS SDK for Python 2.18.4 atau versi lebih baru diperlukan.

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan endpoint dari wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# Tentukan ID wilayah Alibaba Cloud tempat bucket berada.
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)

# Jika citra disimpan di direktori root bucket, masukkan nama citra. Jika citra tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap citra. Contoh: exampledir/example.jpg.
key = 'example.jpg'

# Buat instruksi pemrosesan untuk mendeteksi informasi kendaraan dan informasi pelat nomor dalam citra.
process = 'image/cars'

try:
    # Gunakan metode get_object dan kirimkan instruksi pemrosesan menggunakan parameter process.
    result = bucket.get_object(key, process=process)

    # Baca dan tampilkan hasil kueri.
    image_cars = result.read().decode('utf-8')
    print("Image Cars:")
    print(image_cars)
except oss2.exceptions.OssError as e:
    print("Error:", e)

Go

OSS SDK for Go 3.0.2 atau versi lebih baru diperlukan.

package main

import (
	"fmt"
	"io"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Dapatkan kredensial akses sementara dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Buat instance OSSClient.
	// Tentukan endpoint dari wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com. Tentukan endpoint sebenarnya Anda.
	// Tentukan ID wilayah Alibaba Cloud tempat bucket berada. Contoh: cn-hangzhou.
	client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Tentukan nama bucket. Contoh: examplebucket.
	bucketName := "examplebucket"

	bucket, err := client.Bucket(bucketName)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Jika citra disimpan di direktori root bucket, masukkan nama citra. Jika citra tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap citra. Contoh: exampledir/example.jpg.
	// Gunakan metode oss.Process untuk membuat instruksi pemrosesan untuk mendeteksi informasi kendaraan dan informasi pelat nomor dalam citra.
	body, err := bucket.GetObject("example.jpg", oss.Process("image/cars"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	defer body.Close()

	data, err := io.ReadAll(body)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	fmt.Println("data:", string(data))
}

PHP

OSS SDK for PHP 2.7.0 atau versi lebih baru diperlukan.

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;

try {
    // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
    $provider = new EnvironmentVariableCredentialsProvider(); 
    // Tentukan endpoint dari wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
    $endpoint = 'https://oss-cn-hangzhou.aliyuncs.com';
    // Tentukan nama bucket. Contoh: examplebucket.
    $bucket = 'examplebucket';
    // Jika citra disimpan di direktori root bucket, masukkan nama citra. Jika citra tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap citra. Contoh: exampledir/example.jpg.
    $key = 'example.jpg'; 

    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,        
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        // Tentukan ID wilayah Alibaba Cloud tempat bucket berada.
        "region" => "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
  // Buat instruksi pemrosesan untuk mendeteksi informasi kendaraan dan informasi pelat nomor dalam citra.
  $options[$ossClient::OSS_PROCESS] = "image/cars";
  $result = $ossClient->getObject($bucket,$key,$options);
  var_dump($result);
} catch (OssException $e) {
  printf($e->getMessage() . "\n");
  return;
}

Deskripsi parameter

Action: image/cars

Catatan

Untuk informasi lebih lanjut tentang parameter respons, lihat DetectImageCars.

API terkait

Contoh permintaan

GET /example.jpg?x-oss-process=image/cars HTTP/1.1
Host: image-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 21 Jul 2023 08:57:28 GMT
Authorization: SignatureValue

Contoh tanggapan sukses

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Fri, 21 Jul 2023 08:57:30 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 250
Connection: keep-alive
x-oss-request-id: 64BA487A5423BA333952334F
ETag: "2CE2EA370531B7CC1D23BE6015CF5DA5"
Last-Modified: Mon, 10 Jul 2023 13:07:30 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 13420962247653419692
x-oss-storage-class: Standard
x-oss-ec: 0048-00000104
Content-Disposition: attachment
x-oss-force-download: true
x-oss-server-time: 552

{
  "RequestId" : "0C299A82-5D32-57DE-B66B-5E2A814C60BA",
  "Cars": [
    {
    "LicensePlates": [
      {
        "Content": "LuA8***8",
        "Boundary": {
          "Width": 200,
          "Height": 300,
          "Left": 10,
          "Top": 30
        },
        "Confidence": 0.789
      }
    ],
    "CarType": "van",
    "CarTypeConfidence": 0.516,
    "CarColor": "white",
    "CarColorConfidence": 0.604,
    "Boundary": {
      "Width": 200,
      "Height": 300,
      "Left": 10,
      "Top": 30
    },
    "Confidence": 0.999
    }
  ]
}

Penagihan

Selama deteksi kendaraan, karena layanan IMM dipanggil, item penagihan berikut dihasilkan di kedua sisi OSS dan IMM:

  • Sisi OSS: Untuk harga rinci, lihat Harga OSS

    API

    Item penagihan

    Deskripsi

    GetObject

    Permintaan GET

    Anda dikenakan biaya permintaan berdasarkan jumlah permintaan yang berhasil.

    Trafik keluar Internet

    Jika Anda memanggil operasi GetObject menggunakan titik akhir publik, seperti oss-cn-hangzhou.aliyuncs.com, atau titik akhir percepatan, seperti oss-accelerate.aliyuncs.com, Anda dikenakan biaya trafik keluar Internet berdasarkan ukuran data.

    Pengambilan objek IA

    Jika objek IA diambil, Anda dikenakan biaya pengambilan data IA berdasarkan ukuran data IA yang diambil.

    Akselerasi transfer

    Jika Anda mengaktifkan akselerasi transfer dan menggunakan titik akhir percepatan untuk mengakses bucket Anda, Anda dikenakan biaya akselerasi transfer berdasarkan ukuran data.

    HeadObject

    Permintaan GET

    Anda dikenakan biaya permintaan berdasarkan jumlah permintaan yang berhasil.

  • Sisi IMM: Untuk harga rinci, lihat Item Penagihan IMM

    Penting

    Mulai pukul 11:00 UTC+8 pada 28 Juli 2025, layanan deteksi kendaraan IMM akan ditingkatkan dari model gratis ke model berbayar. Item penagihan spesifik adalah ImageDetect. Untuk informasi lebih lanjut, lihat Pengumuman Penyesuaian Penagihan IMM.

    API

    Item penagihan

    Deskripsi

    DetectImageCars

    ImageDetect

    Anda dikenakan biaya permintaan berdasarkan jumlah permintaan yang berhasil.

Catatan

  • Deteksi kendaraan hanya mendukung pemrosesan sinkron (x-oss-process).

  • Akses anonim akan ditolak.