2011-09-07 13 views

Trả lời

6

Thật không may OpenCV không hỗ trợ thư mục TIFF và chỉ có thể đọc khung đầu tiên từ các tệp TIFF nhiều khung.

+0

Đó là những gì tôi đã sợ .. cảm ơn bạn đã xác nhận. – so12311

8

Trong khi OpenCV không thể mở tệp TIFF nhiều khung, bạn có thể mở hình ảnh bằng PIL và sau đó chuyển dữ liệu sang OpenCV. Tôi vẫn chưa thể có được nó làm việc với các mới "CV2" namespace

tiff = Image.open('sample.tif') 
try: 
    while 1: 
     # Convert PIL image to OpenCV 
     image = cv.CreateImageHeader(tiff.size, cv.IPL_DEPTH_8U, 1) 
     cv.SetData(image, tiff.tostring()) # It's "tostring" and not "toString()"! 
     # Do whatever you're going to do with OpenCV data 
     tiff.seek(tiff.tell()+1) 
except EOFError: 
    pass 
+1

Cảm ơn vì điều này. Trong trường hợp bất cứ ai khác quan tâm, tôi đã nhận nó làm việc trong '' cv2''. Hơn nữa, tôi đã tạo một lớp mô phỏng hành vi của một đối tượng chụp '' cv2'', bạn có thể xử lý các tệp TIFF nhiều khung giống như một tệp phim. Xem lớp '' PseudoCapture'': https://github.com/danielballan/mr/blob/master/mr/video/tiff.py –

+0

@Dan Allan Tôi rất quan tâm nhưng liên kết này đã bị hỏng, bạn có thể cung cấp kịch bản xin vui lòng? – JEquihua

+1

Tôi chia các công cụ đọc hình ảnh thành một kho lưu trữ riêng biệt mà tôi đang gọi 'pims''. Nó tồn tại trên trang tổ chức này ngay bây giờ: https://github.com/soft-matter/pims –

0

Bạn cũng có thể tải và ngăn xếp truy cập tiff trong OpenCV sau pip cài đặt TiffCapture. Nó thực hiện tất cả các phương pháp VideoCapture bạn mong đợi trong OpenCV cho tiffs bằng cách sử dụng PIL.

Các vấn đề liên quan