Cách căn chỉnh một chồng hình ảnh cho timelapse bằng các công cụ FOSS


7

Tôi đã lấy một loạt các khung mà tôi dự định xử lý thành chuỗi thời gian. Khi tôi chỉ đơn giản chạy StopMotion để xử lý chúng thành một chuỗi phim, tôi nhận ra hình ảnh xuất hiện giật vì hai lý do chính:

  • Một số dòng được chụp trong điều kiện gió khiến chân máy ảnh bị rung một chút.
  • Những người khác được chụp bằng camera trên điện thoại thông minh ở chế độ HDR. Vì những hình ảnh này đã được xử lý, trường nhìn của chúng thay đổi một chút, có thể nhìn thấy khi xem chúng theo trình tự. Có vẻ như mức thu phóng bị thay đổi một chút giữa chúng - tuy nhiên, đôi khi biến thể chỉ dọc theo một trục, với hình ảnh bị biến dạng một chút.Vì đây là một tạo tác hậu xử lý, các công cụ dựa trên hình học thấu kính có thể không hoạt động ở đây. Tôi đã đặt phần đó thành một câu hỏi riêng biệt .

Làm cách nào tôi có thể căn chỉnh những hình ảnh này để chuỗi hình ảnh tương ứng sẽ không xuất hiện giật? Các ràng buộc là:

  • Chỉ các công cụ FOSS có sẵn trên Linux
  • Mỗi chuỗi bao gồm khoảng 250 hình ảnh (tương đương 10 giây ở 25 khung hình / giây), do đó cần có mức độ tự động hóa cao. Một số cách tiếp cận được trình bày ở đây hoạt động tốt cho chuỗi 3 lần phơi sáng nhưng không cho vay tốt với các chuỗi dài hơn.

Câu trả lời:


10

Hugin có một hướng dẫn trên trang web của họ, làm cho một điểm khởi đầu tốt.

Công cụ cần thiết:

  • Ôm
  • Hình ảnh
  • Vỏ Bash

Tạo một dự án Hugin

Bắt đầu Hugin và chắc chắn chọn Giao diện> Nâng cao (Chuyên gia cũng sẽ làm như vậy). Đi đến cửa sổ Panorama Stitcher .

Đặt Trường quan sát (50 ° hoạt động tốt cho máy ảnh điện thoại thông minh của tôi), thông số ống kính và loại hình chiếu. Rectilinear nên làm việc cho hầu hết các trường hợp.

Tải hình ảnh cho chuỗi của bạn.

Tạo điểm kiểm soát

Điểm kiểm soát là các tính năng trong hình ảnh mà Hugin sử dụng để căn chỉnh. Mỗi cặp khung liên tiếp phải chia sẻ các điểm kiểm soát để căn chỉnh chúng đúng cách.

Vẫn trong tab Ảnh , bên dưới Kết hợp tính năng , chọn chiến lược tạo điểm kiểm soát. Căn chỉnh ngăn xếp hình ảnh hoạt động tốt cho tôi, bạn có thể phải thử nghiệm một chút.

Trước khi thực hiện việc này lần đầu tiên, bạn cần đảm bảo các điểm kiểm soát được tạo giữa các cặp hình ảnh liên tiếp theo thời gian (mặc định là sắp xếp hình ảnh theo độ phơi sáng). Chuyển đến Tệp> Tùy chọn và điều hướng đến tab Trình phát hiện Điểm kiểm soát . Chọn Align stack stack và click Edit . Trong phần Đối số , thêm --use-given-order. Sau đó đóng cả hai hộp thoại với OK .

Chọn bó ảnh đầu tiên và nhấp vào Tạo điểm kiểm soát . Thật không may, Hugin không thể xử lý nhiều hơn một chút dưới 128 hình ảnh trong một lần. Nếu bạn có hơn 120 hình ảnh trong sê-ri của mình, chỉ cần lặp lại bước này theo lô 120 hình ảnh. Hãy chắc chắn bao gồm hình ảnh cuối cùng của mỗi đợt trong đợt tiếp theo. Quá trình xử lý có thể mất một lúc.

Bây giờ di chuyển đến tab Control Points . Chọn hình ảnh # 0 trong khung bên trái và hình ảnh # 1 ở bên phải. Bạn sẽ thấy các điểm kiểm soát được chia sẻ giữa các hình ảnh. Nhấp vào nút mũi tên phải để di chuyển về phía trước trong chuỗi. Mỗi cặp hình ảnh liên tiếp nên chia sẻ một tập hợp các điểm kiểm soát. (Điều này có thể không phải lúc nào cũng hoạt động khi máy ảnh đang di chuyển, ví dụ như khi quay các chuỗi thời gian trôi đi từ một phương tiện đang di chuyển.)

Nếu chuỗi của bạn có các phần mây lớn, bước trước đó có thể đã tạo ra một số điểm kiểm soát trên bầu trời. Vì những điều này sẽ làm rối loạn căn chỉnh, chúng tôi cần xóa chúng: Quay lại tab Ảnh , chọn tất cả hình ảnh, nhấp chuột phải vào danh sách và chọn Điểm kiểm soát> Xóa điểm kiểm soát trên đám mây . Việc này sẽ tốn một lúc. Nó có thể bỏ lỡ một số điểm kiểm soát, nhưng theo kinh nghiệm của tôi, nó giảm số lượng của chúng đủ để căn chỉnh hoạt động như mong đợi.

Lưu ý: Rõ ràng, các phiên bản mới nhất của Hugin có thể loại trừ các khu vực bị che khuất trong quá trình tạo điểm kiểm soát, tùy thuộc vào chiến lược nào được chọn.

Kiểm tra thông số ống kính

Chuyển đến cửa sổ Xem trước toàn cảnh nhanh ( Xem> Cửa sổ Xem trước nhanh ) và kiểm tra xem trước hình cầu. Hình ảnh chỉ nên lấp đầy một phần của hình cầu, với các đường viền gần hình chữ nhật và các cạnh chỉ bị biến dạng tối thiểu (tương tự như TV CRT kiểu cũ).

Nếu các đường viền hình ảnh gần tròn, bạn có thể cần điều chỉnh lại các thông số ống kính của mình. (Tôi thấy điều này xảy ra với hình ảnh HDR - rõ ràng là xử lý hậu kỳ trong thiết bị sẽ loại bỏ thông tin ống kính.) Quay trở lại Panorama Stitcher và trên tab Ảnh , chọn tất cả hình ảnh và nhấp chuột phải vào danh sách. Sau đó, một trong hai:

  • Thay đổi chúng thành các thông số ống kính tốt ( Lens ) đã biết - ống kính của máy ảnh của bạn sẽ nằm trong cơ sở dữ liệu nếu trước đó bạn đã xử lý hình ảnh không phải HDR từ cùng một thiết bị
  • Hoặc tự đặt trường nhìn ( Chỉnh sửa biến hình ảnh ).

Sau đó kiểm tra lại trong Fast Panorama Preview .

Tính toán căn chỉnh

Quay lại cửa sổ Panorama Stitcher , trong tab Ảnh , chọn một trong các tùy chọn sau trong Tối ưu hóa> Hình học :

  • Vị trí (y, p, r) để chỉ sửa cho chuyển động của camera
  • Vị trí và Chế độ xem (y, p, r, v) để loại bỏ các thành phần xử lý HDRđiều này chưa hoạt động đối với các tạo tác được mô tả ở trên, trong đó hình ảnh bị biến dạng một chút dọc theo một trục. Vẫn đang cố gắng tìm ra cách đối phó với điều này ...

Nhấp vào Tính toán . Điều này sẽ mất một thời gian một lần nữa.

Căn chỉnh và cắt

Thay đổi cửa sổ xem trước toàn cảnh nhanh .

Trên tab Chiếu , chọn cùng một phép chiếu với loại ống kính của bạn. Trên tab Di chuyển / Kéo , bấm Phù hợp và trên tab Cắt , chọn Tự động HDR .

Kết xuất khung

Quay lại cửa sổ Panorama Stitcher , chuyển đến tab Stitcher .

Bên dưới Trường nhìn , bấm Tính toán Trường nhìn . (Điều này có thể đã được đặt chính xác.)

Trong Kích thước Canvas , nhấp vào Tính toán Kích thước tối ưu .Sau đó, bên dưới Cắt , bấm Phù hợp với Hình ảnh . (Không sử dụng tùy chọn cắt ở đây vì nó có thể khiến bạn có các vùng trống gần viền của một số hình ảnh.)

Bỏ chọn mọi thứ trong đầu ra Panorama .

Trong Ảnh đã ánh xạ , chọn Không chỉnh sửa phơi sáng, dải động thấp .

Nhấp vào khâu . Bạn sẽ được yêu cầu chọn một tiền tố - đây là một đường dẫn và một chuỗi sẽ được thêm vào mỗi tệp được tạo. Tôi khuyên bạn nên đặt các tập tin được tạo trong một thư mục riêng biệt.

Kết xuất các khung sẽ mất một lúc nữa.

Dọn dẹp hình ảnh

Sau khi Hugin hoàn thành công việc của mình, bạn sẽ kết thúc với một loạt hình ảnh. Chỉ còn thiếu hai thứ:

  • Các hình ảnh ở định dạng TIFF - đây là định dạng mà Hugin sử dụng nội bộ và không có cách nào để thay đổi điều đó.
  • Sau khi căn chỉnh các hình ảnh, Hugin đã cắt chúng thành phần được hội tụ bởi mọi khung hình trong chuỗi. Do đó, hình ảnh thu được sẽ nhỏ hơn một chút so với ảnh gốc.

May mắn thay, hai điều này có thể được sửa chữa trong một bước duy nhất. Như một phần thưởng, nếu bạn lấy mức phơi sáng ở độ phân giải cao hơn độ phân giải mục tiêu của bạn cho chuỗi phim, bước này cũng sẽ thay đổi kích thước chúng.

Khởi động bash, di chuyển đến thư mục chứa các tệp được tạo, sau đó chạy:

for i in *.tif ; do convert $i -resize 1920x1080^ -gravity center -extent 1920x1080 `echo $i | sed s/.tif/.jpg/` ; done
rm *.tif

(nếu độ phân giải mục tiêu của bạn là thứ gì đó ngoài 1920 × 1080, hãy thay đổi dòng đầu tiên cho phù hợp.)

Điều này sẽ chia tỷ lệ từng hình ảnh để lấp đầy độ phân giải mục tiêu của bạn và cắt nó theo kích thước nếu tỷ lệ không phù hợp. Dòng thứ hai sẽ loại bỏ các tệp được tạo bởi Hugin.

Đó là nó! Bây giờ sử dụng công cụ yêu thích của bạn để xử lý chuỗi hình ảnh thu được thành một đoạn phim.


2
1) Bash không bắt buộc ở đây, bất kỳ shell POSIX nào cũng sẽ làm 2) Trích dẫn các biến của bạn, ví dụ sử dụng "$i"thay vì $i3) Sử dụng mở rộng tham số thay vì echo'ing sed, ví dụ convert "$i" "${i%.tif}.jpg"4) Sử dụng mogrifythay vì convertvậy bạn không cần vòng lặp. Ví dụmogrify -resize '1920x1080^' -gravity center -extent 1920x1080 -format jpg -- *.tif
Marco
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.