2011-09-07 10 views
6

कोई भी जानता है कि ओपनसीवी बहु-फ्रेम टीआईएफएफ स्टैक लोड करने में सक्षम है या नहीं? मैं अजगर 2.6.0 के साथ ओपनसीवी 2.2.0 का उपयोग कर रहा हूँ।क्या मैं ओपनसीवी के माध्यम से एक बहु-फ्रेम टीआईएफएफ लोड कर सकता हूं?

उत्तर

6

दुर्भाग्यवश ओपनसीवी टीआईएफएफ निर्देशिकाओं का समर्थन नहीं करता है और बहु-फ्रेम टीआईएफएफ फाइलों से केवल पहला फ्रेम पढ़ने में सक्षम है।

+0

यही वह था जो मुझे डर था .. पुष्टि के लिए धन्यवाद। – so12311

8

जबकि ओपनसीवी बहु-फ्रेम टीआईएफएफ फाइलें नहीं खोल सकता है, तो आप पीआईएल का उपयोग करके छवि खोल सकते हैं और फिर डेटा को ओपनसीवी पर भेज सकते हैं। मैं अभी तक यह TiffCapture स्थापित रंज के बाद नई 'CV2 "नाम स्थान

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

इसके लिए धन्यवाद। अगर किसी और की परवाह है, तो मुझे यह 'cv2'' में काम मिल गया। इसके अलावा, मैंने एक कक्षा बनाई है जो '' cv2'' कैप्चर ऑब्जेक्ट के व्यवहार को अनुकरण करती है, आप मूवी फ़ाइल की तरह मल्टी-फ्रेम टीआईएफएफ फाइलों का इलाज कर सकते हैं। वर्ग 'छद्म कैप्चर'' देखें: https://github.com/danielballan/mr/blob/master/mr/video/tiff.py –

+0

@ डैन एलन मुझे बहुत दिलचस्पी है लेकिन यह लिंक अब टूटा हुआ है, क्या आप कृपया स्क्रिप्ट प्रदान करें? – JEquihua

+1

मैंने छवि-पढ़ने वाली सामग्री को एक अलग भंडार में विभाजित किया है जिसे मैं 'pims'' कह रहा हूं। यह अब इस संगठन पृष्ठ पर रहता है: https://github.com/soft-matter/pims –

0

तुम भी लोड और OpenCV में पहुँच टिफ ढेर कर सकते हैं के साथ काम कर पाने के लिए नहीं कर पाए हैं। यह पीआईएल का उपयोग कर टिफ के लिए ओपनसीवी में अपेक्षित सभी वीडियो कैप्चर विधियों को लागू करता है।

संबंधित मुद्दे

 संबंधित मुद्दे