So sánh hai ảnh API

So sánh hai ảnh theo từng điểm ảnh (khoảng cách màu theo cảm nhận, bỏ qua khử răng cưa) và cho biết tỷ lệ điểm ảnh thay đổi, vùng thay đổi và ảnh khác biệt được tô màu.

POSThttps://apibox.io.vn/v1/image-diff

API so sánh ảnh đối chiếu hai ảnh PNG hoặc JPEG cùng kích thước, ví dụ ảnh chụp một trang web trước và sau khi sửa. API dùng pixelmatch, thuật toán của nhiều công cụ kiểm thử giao diện: màu được so sánh trong không gian cảm nhận với ngưỡng threshold (0 = tuyệt đối, mặc định 0,1), và khác biệt do khử răng cưa được bỏ qua trừ khi include_aa=true.

Kết quả JSON cho biết hai ảnh có giống hệt không, bao nhiêu điểm ảnh khác và chiếm bao nhiêu phần trăm, cùng khung bao vùng thay đổi. output=image trả về chính ảnh khác biệt: ảnh thứ nhất làm mờ, điểm ảnh thay đổi tô đỏ, khử răng cưa tô vàng; include_image=true thêm ảnh đó dạng base64 vào JSON.

Ảnh khác kích thước sẽ được báo; resize=true thu phóng ảnh thứ hai về kích thước ảnh thứ nhất trước khi so sánh. Mỗi ảnh tối đa 12,5 megapixel.

Tham số

TênVị tríKiểuBắt buộcMặc định
abodyfilecóẢnh thứ nhất (trường multipart a, hoặc a_base64).
bbodyfilecóẢnh thứ hai (b / b_base64).
thresholdbody|querynumberkhông0.1Ngưỡng khác màu 0–1.
include_aabody|querybooleankhôngfalseTính cả khác biệt do khử răng cưa.
outputbody|querystringkhôngjsonjson hoặc image (ảnh khác biệt PNG).
resizebody|querybooleankhôngfalseThu phóng b theo a khi khác kích thước.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/image-diff" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "0=@./my-file"

Kết quả trả về

{
  "identical": false,
  "width": 1200,
  "height": 630,
  "diff_pixels": 758,
  "diff_percent": 0.1003,
  "threshold": 0.1,
  "bounding_box": {
    "x": 409,
    "y": 327,
    "width": 324,
    "height": 58
  }
}

Ứng dụng

  • Kiểm thử hồi quy giao diện trong CI
  • Phát hiện thay đổi bất thường trên trang web được theo dõi
  • So sánh bản thiết kế với giao diện đã làm
  • Kiểm tra xử lý ảnh có giữ chất lượng

Hỏi đáp

Nên chọn ngưỡng nào?

0,1 với ảnh chụp màn hình; 0 để phát hiện mọi thay đổi; 0,2–0,3 với ảnh chụp và JPEG có nhiễu nén.

Hai ảnh có cần cùng kích thước không?

Có nếu muốn so sánh chính xác; resize=true giúp so được nhưng thêm sai khác do nội suy.

API có tự chụp màn hình không?

Không, bạn gửi ảnh lên; chụp màn hình cần dịch vụ trình duyệt.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →