API Node.js miễn phí để so sánh hình ảnh
API nguồn mở dựa trên Node.js so sánh hình ảnh từng điểm ảnh. Một giải pháp mạnh mẽ, linh hoạt và hiệu quả để so sánh hình ảnh trong các ứng dụng Node.js.
So sánh hình ảnh đóng vai trò quan trọng trong phát triển phần mềm, đặc biệt là trong các lĩnh vực như thử nghiệm hồi quy trực quan, đảm bảo chất lượng hình ảnh và xác minh thiết kế hoàn hảo đến từng pixel. Cho dù bạn đang phát triển phần mềm để đảm bảo giao diện người dùng nhất quán trên nhiều nền tảng hay tự động kiểm tra trực quan trong quy trình sản xuất, thì việc có một công cụ so sánh hình ảnh hiệu quả là điều cần thiết. LooksSame, một API nguồn mở do Gemini-Testing phát triển, đơn giản hóa quy trình tạo phần mềm để so sánh hình ảnh với các tính năng trực quan của nó. Có một số tính năng quan trọng trong thư viện như so sánh hình ảnh theo từng pixel, phát hiện khử răng cưa, cấu hình kiểm soát dung sai, xử lý kích thước hình ảnh, hỗ trợ Promises và nhiều tính năng khác.
LooksSame là một API dựa trên Node.js được thiết kế để so sánh hình ảnh. Nó cho phép các nhà phát triển so sánh hình ảnh theo từng pixel, với các tùy chọn để xử lý các biến thể nhỏ có thể xảy ra do sự khác biệt trong môi trường kết xuất. Bằng cách sử dụng thư viện, các nhà phát triển phần mềm có thể xây dựng các ứng dụng của riêng họ để phát hiện các khác biệt đáng kể về mặt hình ảnh trong khi bỏ qua các biến thể nhỏ. API chủ yếu tập trung vào việc giúp các nhà phát triển duy trì tính nhất quán trong thiết kế giao diện người dùng, nhưng tính linh hoạt của nó khiến nó phù hợp với nhiều trường hợp sử dụng so sánh hình ảnh khác. Với API đơn giản và các tùy chọn có thể tùy chỉnh, LooksSame là sự bổ sung tuyệt vời cho bộ công cụ của bất kỳ nhà phát triển nào, đặc biệt là đối với thử nghiệm UI dựa trên web, tạo hình ảnh tự động và các tình huống khác mà độ chính xác về mặt hình ảnh là tối quan trọng.
Bắt đầu với LooksSame
Cách được khuyến nghị để cài đặt LooksSame là sử dụng NPM. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.
Cài đặt LooksSame thông qua NPM
npm install looks-same
So sánh hình ảnh cơ bản trong ứng dụng Node.js
Thư viện LooksSame nguồn mở giúp các nhà phát triển phần mềm dễ dàng thực hiện so sánh hình ảnh cơ bản bên trong các ứng dụng Node.js. Sau khi cài đặt, bạn có thể so sánh hai hình ảnh bằng cách yêu cầu mô-đun LooksSame trong mã của mình. Sau đây là một ví dụ cơ bản cho thấy cách sử dụng thư viện để kiểm tra xem hai hình ảnh có giống hệt nhau về mặt hình ảnh hay không: Trong ví dụ này, hãy so sánh image1.png và image2.png. Nếu chúng giống nhau về mặt hình ảnh, equal sẽ trả về true; nếu không, nó sẽ trả về false.
Làm thế nào để so sánh hai hình ảnh bên trong ứng dụng Node.js?
const looksSame = require('looks-same');
// Compare two images
looksSame('image1.png', 'image2.png', (error, { equal }) => {
if (error) {
console.error('Error comparing images:', error);
} else if (equal) {
console.log('Images are identical!');
} else {
console.log('Images differ!');
}
});
So sánh hình ảnh dựa trên dung sai
Đối với các ứng dụng không yêu cầu khớp pixel hoàn hảo, các nhà phát triển phần mềm có thể thêm mức dung sai. Điều này cho phép bỏ qua những khác biệt nhỏ giữa các hình ảnh, chẳng hạn như những thay đổi do kết xuất trên các trình duyệt hoặc hệ điều hành khác nhau. Trong ví dụ mã sau, dung sai được đặt thành 5%, nghĩa là những thay đổi pixel nhỏ (tối đa 5%) sẽ không khiến các hình ảnh được coi là khác nhau.
Làm thế nào để thực hiện So sánh hình ảnh dựa trên dung sai bên trong Ứng dụng Node.js?
cfunction compareWithTolerance(image1, image2, toleranceLevel) {
looksSame(image1, image2, { tolerance: toleranceLevel }, (error, { equal }) => {
if (error) {
console.error('Error comparing images:', error);
} else if (equal) {
console.log('Images are visually identical within tolerance!');
} else {
console.log('Images differ!');
}
});
}
// Usage
compareWithTolerance('image1.png', 'image2.png', 5); // 5% tolerance
Làm nổi bật các vùng khác biệt cụ thể
Đối với các ứng dụng phức tạp hơn, các nhà phát triển phần mềm có thể muốn xác định và phân tích chỉ các vùng khác biệt cụ thể. Thư viện LooksSame cung cấp tính năng hộp giới hạn hiển thị vùng chính xác nơi xảy ra sự khác biệt. Hàm này đưa ra tọa độ hộp giới hạn của các vùng khác nhau, giúp dễ dàng tập trung vào các phần cụ thể của hình ảnh đã thay đổi. Ví dụ sau đây cho thấy cách sử dụng tọa độ hộp giới hạn để so sánh hình ảnh và làm nổi bật sự khác biệt.
Làm thế nào để so sánh và xác định sự khác biệt giữa các khu vực cụ thể của hình ảnh thông qua ứng dụng Node.js?
function compareWithDiffBounds(image1, image2) {
looksSame(image1, image2, (error, { diffBounds }) => {
if (error) {
console.error('Error comparing images:', error);
} else {
console.log('Bounding box of differences:', diffBounds);
}
});
}
// Usage
compareWithDiffBounds('image1.png', 'image2.png');
Phát hiện chống răng cưa để so sánh chính xác
Thư viện LooksSame nguồn mở cho phép các nhà phát triển phần mềm thực hiện nén hình ảnh bằng cách sử dụng phương pháp Phát hiện chống răng cưa bên trong các ứng dụng Node.js. Chống răng cưa có thể gây ra kết quả dương tính giả khi so sánh hình ảnh vì nó tạo ra những thay đổi nhỏ trong quá trình kết xuất cạnh. Tùy chọn ignoreAntialiasing của thư viện giúp tránh những kết quả dương tính giả này. Điều này đặc biệt hữu ích cho các ứng dụng mà hình ảnh có thể được kết xuất khác nhau trên các thiết bị hoặc trình duyệt khác nhau nhưng về mặt trực quan vẫn giống nhau.