Tôi đang làm việc trên một dự án ghép hình ảnh và tôi hiểu có các cách tiếp cận khác nhau về xử lý độ tương phản và độ sáng của hình ảnh. Tất nhiên tôi có thể đối phó với vấn đề này trước khi tôi khâu hình ảnh, nhưng kết quả không nhất quán như tôi mong đợi. Vì vậy, câu hỏi của tôi là nếu nó có thể bởi bất kỳ cơ hội để "cân bằng" hoặc thay vì "cân bằng" độ tương phản và độ sáng trong hình ảnh màu sắc sau khi khâu đã diễn ra?Cân bằng độ tương phản và độ sáng giữa các hình ảnh được ghép
Trả lời
Bạn muốn xác định hàm cân bằng biểu đồ không phải từ toàn bộ hình ảnh, nhưng trên vùng mà chúng sẽ chạm hoặc chồng lên nhau. Bạn rõ ràng muốn có các biểu đồ giống hệt nhau trong vùng chồng chéo, vì vậy đây là nơi bạn tính toán các hàm. Sau đó, bạn áp dụng các chức năng cân bằng để thực hiện điều này trên toàn bộ hình ảnh. Nếu bạn có nhiều hơn hai mũi khâu, bạn vẫn muốn cân bằng toàn cầu trước, và sau đó sử dụng ứng dụng trọng số của các hàm chồng chéo cân bằng làm giảm tác động khi bạn di chuyển ra khỏi mép được khâu.
Xin lỗi nếu điều này hoàn toàn rõ ràng với bạn, nhưng câu hỏi chung của bạn đưa tôi đến câu trả lời chung.
Bạn có thể muốn xem Exposure Compensator class do OpenCV cung cấp.
đền bù phơi sáng được thực hiện trong 3 bước sau:
Tạo bù phơi sáng của bạn
Ptr<ExposureCompensator> compensator = ExposureCompensator::createDefault(expos_comp_type);
Bạn nhập vào tất cả các hình ảnh của bạn cùng với các góc trên bên trái của mỗi người trong số họ. Bạn có thể để các mặt nạ hoàn toàn trắng theo mặc định trừ khi bạn muốn chỉ định một số phần nhất định của hình ảnh để làm việc.
compensator->feed(corners, images, masks);
Bây giờ nó có tất cả các thông tin về cách thức hình ảnh chồng lên nhau, bạn có thể bù đắp mỗi hình ảnh cá nhân
compensator->apply(image_index, corners[image_index], image, mask);
Hình ảnh bồi thường sẽ được lưu trữ trong image
Bạn có thể cho tôi thấy một ví dụ thực tế không? Tôi hiểu các khái niệm, nhưng thực hiện trong OpenCV im một chút bị mất. – JavaCake