API: Python SDK

#API : Python SDK

Chloros Python SDK cung cấp quyền truy cập theo chương trình vào công cụ xử lý hình ảnh Chloros, cho phép tự động hóa, quy trình làm việc tùy chỉnh và tích hợp liền mạch với các ứng dụng Python của bạn và quy trình nghiên cứu.

Các tính năng chính

  • 🐍 Python - API sạch, Pythonic để xử lý hình ảnh

  • 🔧 Quyền truy cập API đầy đủ - Kiểm soát hoàn toàn quá trình xử lý Chloros

  • 🚀 Tự động hóa - Xây dựng quy trình xử lý hàng loạt tùy chỉnh

  • 🔗 Tích hợp - Nhúng Chloros vào các ứng dụng Python hiện có

  • 📊 Sẵn sàng cho nghiên cứu - Hoàn hảo cho quy trình phân tích khoa học

  • Xử lý song song - Cân theo lõi CPU của bạn (Chloros+)

Yêu cầu

Yêu cầu
Chi tiết

Đã cài đặt Chloros

Windows: Trình cài đặt máy tính để bàn; Linux: Gói .deb

Hệ điều hành

Windows 10/11 (64-bit), Linux x86_64 (AMD64), Linux arm64 (NVIDIA Jetson JetPack 6)

Python

Python 3.7 trở lên

Bộ nhớ

RAM tối thiểu 8GB (khuyến nghị 16GB)

Internet

Cần thiết để kích hoạt giấy phép

circle-exclamation

Bắt đầu nhanh

Cài đặt

Cài đặt qua pip:

circle-info

Thiết lập lần đầu: Trước khi sử dụng SDK, hãy kích hoạt giấy phép Chloros+ của bạn bằng cách mở Chloros, Chloros (Trình duyệt) hoặc Chloros CLI và đăng nhập bằng thông tin xác thực của bạn. Điều này chỉ cần được thực hiện một lần. Trên Linux (không có GUI), hãy sử dụng: chloros-cli login user@example.com 'password'

Cách sử dụng cơ bản

Xử lý một thư mục chỉ với một vài dòng:

circle-info

Đường dẫn đa nền tảng: Ví dụ về mã trên trang này sử dụng đường dẫn kiểu Windows (ví dụ: C:\\DroneImages\\Flight001). Trên Linux, hãy sử dụng đường dẫn Linux thay thế (ví dụ: /home/user/drone_images/flight001 hoặc ~/drone_images/flight001). SDK hoạt động giống hệt nhau trên cả hai nền tảng.

Kiểm soát hoàn toàn

Đối với quy trình công việc nâng cao:


Hướng dẫn cài đặt

Điều kiện tiên quyết

Trước khi cài đặt SDK, hãy đảm bảo bạn có:

  1. Đã cài đặt Chloros — Windows: Trình cài đặt máy tính để bàn (tải xuống); Linux: Gói .deb (Cài đặt Linux)

  2. Đã cài đặt Python 3.7+ (python.orgarrow-up-right)

  3. Giấy phép Chloros+ đang hoạt động (nâng cấparrow-up-right)

Cài đặt qua pip

Cài đặt tiêu chuẩn:

Với sự hỗ trợ theo dõi tiến độ:

Cài đặt phát triển:

Xác minh cài đặt

Kiểm tra xem SDK đã được cài đặt chính xác chưa:


Thiết lập lần đầu

Kích hoạt giấy phép

SDK sử dụng cùng giấy phép với Chloros, Chloros (Trình duyệt) và Chloros CLI. Kích hoạt một lần qua GUI hoặc CLI:Windows:MởChloros hoặc Chloros (Trình duyệt) và đăng nhập trên tab Người dùng hoặc sử dụng CLI.Linux: Sử dụng CLI (không có GUI):

Giấy phép được lưu vào bộ nhớ đệm cục bộ và vẫn tồn tại qua các lần khởi động lại.

circle-check
circle-info

Đăng xuất: Người dùng SDK có thể xóa thông tin xác thực được lưu trong bộ nhớ đệm theo chương trình bằng phương pháp logout(). Xem phương thức logout() trong Tài liệu tham khảo API.

Kiểm tra kết nối

Xác minh SDK có thể kết nối với Chloros:


Tham khảo API

Lớp ChlorosLocal

Lớp chính để xử lý hình ảnh Chloros cục bộ.

Người xây dựng

Thông số:

Tham số
Loại
Mặc định
Mô tả

api_url

str

"http://localhost:5000"

URL của chương trình phụ trợ Chloros cục bộ

auto_start_backend

bool

True

Tự động khởi động phụ trợ nếu cần

backend_exe

str

None (tự động phát hiện)

Đường dẫn đến phần thực thi phụ trợ

timeout

int

30

Yêu cầu hết thời gian tính bằng giây

backend_startup_timeout

int

60

Thời gian chờ khởi động phụ trợ (giây)

Ví dụ:

circle-info

Tự động phát hiện đa nền tảng: SDK tự động thử đường dẫn phụ trợ chính xác cho nền tảng của bạn:

  • Windows: C:\Program Files\MAPIR\Chloros\resources\backend\chloros-backend.exe

  • Linux (.deb): /usr/lib/chloros/chloros-backend

  • Linux (thủ công): /opt/mapir/chloros/backend/chloros-backend


Phương thức

create_project(project_name, camera=None)

Tạo dự án Chloros mới.

Thông số:

Tham số
Loại
Bắt buộc
Mô tả

project_name

str

Tên dự án

camera

str

Không

Mẫu máy ảnh (ví dụ: "Survey3N_RGN", "Survey3W_OCN")

Trả về: dict - Phản hồi tạo dự ánVí dụ:


import_images(folder_path, recursive=False)

Nhập hình ảnh từ một thư mục.

Thông số:

Tham số
Loại
Bắt buộc
Mô tả

folder_path

str/Đường dẫn

Đường dẫn đến thư mục có hình ảnh

recursive

bool

Không

Tìm kiếm thư mục con (mặc định: Sai)

Trả về: dict - Nhập kết quả với số lượng tệpVí dụ:


configure(**settings)

Định cấu hình cài đặt xử lý.

Thông số:

Tham số
Loại
Mặc định
Mô tả

debayer

str

"Tiêu Chuẩn (Nhanh, Chất Lượng Trung Bình)"

Phương pháp Debayer

vignette_correction

bool

True

Bật tính năng chỉnh sửa họa tiết

reflectance_calibration

bool

True

Kích hoạt hiệu chuẩn phản xạ

indices

danh sách

None

Chỉ số thực vật cần tính toán

export_format

str

"TIFF (16-bit)"

Định dạng đầu ra

ppk

bool

False

Kích hoạt tính năng chỉnh sửa PPK

custom_settings

chính tả

None

Cài đặt tùy chỉnh nâng cao

Định dạng xuất:

  • "TIFF (16-bit)" - Được khuyên dùng cho GIS/phép quang trắc

  • "TIFF (32-bit, Percent)" - Phân tích khoa học

  • "PNG (8-bit)" - Kiểm tra bằng mắt

  • "JPG (8-bit)" - Đầu ra nén

**Chỉ số có sẵn:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2, v.v.Ví dụ:


process(mode="parallel", wait=True, progress_callback=None)

Xử lý hình ảnh dự án

Thông số:

Tham số
Loại
Mặc định
Mô tả

mode

str

"parallel"

Chế độ xử lý: "song song" hoặc "nối tiếp"

wait

bool

True

Chờ hoàn thành

progress_callback

có thể gọi được

None

Hàm gọi lại tiến trình(tiến trình, tin nhắn)

poll_interval

phao

2.0

Khoảng thời gian bỏ phiếu cho tiến trình (giây)

Trả về: dict - Kết quả xử lý

circle-exclamation

Ví dụ:


get_config()

Nhận cấu hình dự án hiện tại.

Trả về: dict - Cấu hình dự án hiện tạiVí dụ:


get_status()

Nhận thông tin trạng thái phụ trợ bao gồm tiến trình xử lý theo từng luồng.

Trả về: dict - Trạng thái phụ trợ có cấu trúc sau:

Ví dụ:


shutdown_backend()

Tắt phần phụ trợ (nếu được khởi động bởi SDK).

Ví dụ:


logout()

Xóa thông tin đăng nhập được lưu trong bộ nhớ cache khỏi hệ thống cục bộ.

Sự miêu tả:

Đăng xuất theo chương trình bằng cách xóa thông tin xác thực được lưu trong bộ nhớ đệm. Điều này hữu ích cho:

  • Chuyển đổi giữa các tài khoản Chloros+ khác nhau

  • Xóa thông tin đăng nhập trong môi trường tự động

  • Mục đích bảo mật (ví dụ: xóa thông tin đăng nhập trước khi gỡ cài đặt)

Trả về: dict - Kết quả hoạt động đăng xuấtVí dụ:

circle-info

Yêu cầu xác thực lại: Sau khi gọi logout(), bạn phải đăng nhập lại qua Chloros, Chloros (Trình duyệt) hoặc Chloros CLI trước khi sử dụng SDK.


###Chức năng tiện lợi

process_folder(folder_path, **options)

Chức năng tiện lợi một dòng để xử lý một thư mục.

Thông số:

Tham số
Loại
Mặc định
Mô tả

folder_path

str/Đường dẫn

Bắt buộc

Đường dẫn đến thư mục có hình ảnh

project_name

str

Được tạo tự động

Tên dự án

camera

str

None

Mẫu máy ảnh

indices

danh sách

["NDVI"]

Chỉ số để tính toán

vignette_correction

bool

True

Bật tính năng chỉnh sửa họa tiết

reflectance_calibration

bool

True

Kích hoạt hiệu chuẩn phản xạ

export_format

str

"TIFF (16-bit)"

Định dạng đầu ra

mode

str

"parallel"

Chế độ xử lý

progress_callback

có thể gọi được

None

Gọi lại tiến độ

Trả về: dict - Kết quả xử lýVí dụ:


Hỗ trợ Trình quản lý bối cảnh

SDK hỗ trợ trình quản lý bối cảnh để tự động dọn dẹp:


Ví dụ hoàn chỉnh

circle-info

Người dùng Linux: Tất cả các ví dụ bên dưới đều sử dụng đường dẫn Windows. Thay thế đường dẫn C:\\... bằng đường dẫn Linux của bạn (ví dụ: /home/user/... hoặc ~/...). Tất cả chức năng của SDK đều giống hệt nhau trên các nền tảng.

Ví dụ 1: Xử lý cơ bản

Xử lý thư mục có cài đặt mặc định:


Ví dụ 2: Quy trình làm việc tùy chỉnh

Kiểm soát hoàn toàn đường ống xử lý:


Ví dụ 3: Xử lý hàng loạt nhiều thư mục

Xử lý nhiều tập dữ liệu chuyến bay:


Ví dụ 4: Tích hợp quy trình nghiên cứu

Tích hợp Chloros với phân tích dữ liệu:


Ví dụ 5: Giám sát tiến độ tùy chỉnh

Theo dõi tiến trình nâng cao bằng tính năng ghi nhật ký:


Ví dụ 6: Xử lý lỗi

Xử lý lỗi mạnh mẽ khi sử dụng trong sản xuất:


Ví dụ 7: Quản lý tài khoản và đăng xuất

Quản lý thông tin xác thực theo chương trình:


Ví dụ 8: Công cụ dòng lệnh

Xây dựng công cụ CLI tùy chỉnh với SDK:

Cách sử dụng:


Xử lý ngoại lệ

SDK cung cấp các lớp ngoại lệ cụ thể cho các loại lỗi khác nhau:

Phân cấp ngoại lệ

Ví dụ về ngoại lệ


Chủ đề nâng cao

Cấu hình phụ trợ tùy chỉnh

Sử dụng vị trí hoặc cấu hình phụ trợ tùy chỉnh:

Xử lý không chặn

Bắt đầu xử lý và tiếp tục với các tác vụ khác:

Quản lý bộ nhớ

Đối với các tập dữ liệu lớn, xử lý theo đợt:


Khắc phục sự cố

Phần cuối không bắt đầu

Vấn đề: SDK không khởi động được chương trình phụ trợGiải pháp:

  1. Xác minh Chloros đã được cài đặt:

  1. Kiểm tra tường lửa (Windows) hoặc tính khả dụng của cổng (Linux: lsof -i :5000)

  2. Thử đường dẫn phụ trợ thủ công:


Giấy phép không được phát hiệnVấn đề: SDK cảnh báo về việc thiếu giấy phépGiải pháp:

  1. Mở Chloros, Chloros (Trình duyệt) hoặc Chloros CLI và đăng nhập.

  2. Xác minh giấy phép được lưu vào bộ nhớ đệm:

  1. Nếu gặp vấn đề về thông tin xác thực, hãy xóa thông tin xác thực được lưu trong bộ nhớ đệm và đăng nhập lại:

  1. Liên hệ hỗ trợ: info@mapir.camera


Lỗi nhậpVấn đề: ModuleNotFoundError: No module named 'chloros_sdk'Giải pháp:


Hết thời gian xử lýVấn đề: Đã hết thời gian xử lýGiải pháp:

  1. Tăng thời gian chờ:

  1. Xử lý các lô nhỏ hơn

  2. Kiểm tra dung lượng đĩa trống

  3. Giám sát tài nguyên hệ thống


Cổng đã được sử dụngVấn đề: Cổng phụ trợ 5000 đã bị chiếm dụngGiải pháp:

Hoặc tìm và đóng quá trình xung đột:


Mẹo về hiệu suất

Tối ưu hóa tốc độ xử lý

  1. Sử dụng Chế độ song song (yêu cầu Chloros+)

  1. Giảm độ phân giải đầu ra (nếu chấp nhận được)

  1. Vô hiệu hóa các chỉ số không cần thiết

  1. Xử lý trên SSD (không phải HDD)***

Tối ưu hóa bộ nhớ

Đối với tập dữ liệu lớn:


Xử lý nền

Giải phóng Python cho các tác vụ khác:


Ví dụ về tích hợp

Tích hợp Django

Bình API

Sổ tay Jupyter


##Câu hỏi thường gặp

Hỏi: SDK có cần kết nối internet không?

A: Chỉ dành cho kích hoạt giấy phép ban đầu. Sau khi đăng nhập qua Chloros, Chloros (Trình duyệt) hoặc Chloros CLI, giấy phép được lưu vào bộ nhớ đệm cục bộ và hoạt động ngoại tuyến trong 30 ngày.***

Hỏi: Tôi có thể sử dụng SDK trên máy chủ không có GUI không?Đ: Vâng! SDK hoạt động không đầu trên cả máy chủ Windows và Linux.Linux (được khuyên dùng cho thiết bị không đầu):

  • Cài đặt qua gói .deb

  • Kích hoạt giấy phép: chloros-cli login user@example.com 'password'

Máy chủ Windows:

  • Máy chủ Windows 2016 trở lên

  • Đã cài đặt Chloros (một lần)

  • Giấy phép được kích hoạt qua CLI hoặc trên bất kỳ máy nào


Hỏi: Sự khác biệt giữa Máy tính để bàn, CLI và SDK là gì?

Tính năng
GUI trên máy tính để bàn
Dòng lệnh CLI
Python SDK

Giao diện

Bấm chuột

Lệnh

Python API

Tốt nhất cho

Tác phẩm trực quan

Viết kịch bản

Tích hợp

Tự động hóa

Hạn chế

Tốt

Xuất sắc

Tính linh hoạt

Cơ bản

Tốt

Tối đa

Giấy phép

Chloros+

Chloros+

Chloros+

Hỏi: Tôi có thể phân phối các ứng dụng được xây dựng bằng SDK không?A: Mã SDK có thể được tích hợp vào ứng dụng của bạn, nhưng:

  • Người dùng cuối cần cài đặt Chloros

  • Người dùng cuối cần có giấy phép Chloros+ đang hoạt động

  • Phân phối thương mại yêu cầu giấy phép OEM

Liên hệ info@mapir.camera để được giải đáp thắc mắc về OEM.


Hỏi: Làm cách nào để cập nhật SDK?


Hỏi: Hình ảnh đã xử lý được lưu ở đâu?

Theo mặc định, trong Đường dẫn dự án:


Hỏi: Tôi có thể xử lý hình ảnh từ tập lệnh Python chạy theo lịch trình không?Đ: Vâng! Sử dụng bộ lập lịch hệ điều hành của bạn với tập lệnh Python:

Windows: Lập lịch thông qua Trình lập lịch tác vụ để chạy hàng ngày.Linux: Lên lịch qua cron:


Hỏi: SDK có hỗ trợ async/await không?A: Phiên bản hiện tại là đồng bộ. Đối với hành vi không đồng bộ, hãy sử dụng wait=False hoặc chạy trong chuỗi riêng biệt:


Hỏi: Làm cách nào để chuyển đổi giữa các tài khoản Chloros+ khác nhau?A: Sử dụng phương pháp logout() để xóa thông tin xác thực được lưu trong bộ nhớ đệm, sau đó đăng nhập lại bằng tài khoản mới:

Sau khi đăng xuất, hãy xác thực bằng tài khoản mới thông qua GUI, Trình duyệt hoặc CLI trước khi sử dụng lại SDK.


Nhận trợ giúp

Tài liệu

  • Tham khảo API: Trang này

Kênh hỗ trợ

Mã mẫu

Tất cả các ví dụ được liệt kê ở đây đều đã được thử nghiệm và sẵn sàng sản xuất. Sao chép và điều chỉnh chúng cho trường hợp sử dụng của bạn.


Giấy phépPhần mềm độc quyền - Bản quyền (c) 2025 MAPIR Inc.

SDK yêu cầu đăng ký Chloros+ đang hoạt động. Việc sử dụng, phân phối hoặc sửa đổi trái phép đều bị cấm.

Last updated