Sử dụng ImageMagick để so sánh hình ảnh


10

Tôi muốn so sánh một tệp png nguồn với một tệp nén.

Tôi đang sử dụng imagemagickvà lệnh này:

convert image1 image2 -compose Difference -composite \
       -colorspace gray -format '%[fx:mean*100]' info:

Nhưng những gì tôi nhận được là một con số rất kỳ lạ. Tôi đang tìm kiếm từ một số từ 0-100%.

Khi tôi so sánh hai hình ảnh hoàn toàn khác nhau, tôi vẫn nhận được 8,37885.

Vì vậy, những người tốt của Ask Ubuntu, bạn có thể cung cấp cho tôi một lệnh sẽ đo lường sự khác biệt giữa các tệp một cách chính xác và cho tôi một số từ 0-100 không?

Câu trả lời:


11

Vấn đề là với colorspace graymột phần của lệnh. Tùy chọn này chỉ kiểm tra sự khác biệt giữa màu xám của hình ảnh.

Vì vậy, lệnh chính xác phải là

convert image1 image2 -compose Difference -composite  -format '%[fx:mean*100]' info:

Điều này sẽ cung cấp cho bạn câu trả lời thích hợp hơn.


1
Bạn có thể thử các phương pháp khác như kịch bản python này . Sử dụng phương pháp đó phù hợp nhất với mục đích của bạn.
Người dùng đã đăng ký

Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn, tôi sẽ xem xét nó, cảm ơn bạn vì mệnh lệnh cũng vậy
Levan

@RegisteredUser Cảnh báo : mã đó dường như tìm thấy lỗi RMS giữa các biểu đồ của hình ảnh, KHÔNG phải giữa các hình ảnh . Trước tiên, tốt nhất là thực hiện sự khác biệt của 2 hình ảnh (nếu bạn cũng muốn trong một hình ảnh mới), và sau đó thực hiện tổng bình phương của các thùng biểu đồ được chuẩn hóa.
Hastur 12/2/2015

@hastur bạn có thể vui lòng giải thích bằng cách cung cấp lệnh. Có lẽ như một câu trả lời khác.
Người dùng đã đăng ký
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.