मैंने अपने अब पूरी तरह से काम कर रहे समाधान, OpenCV-Python को सारांशित किया है - Anaconda (Windows) के लिए OpenCV-Python पैकेज कैसे स्थापित करें । फिर भी मैंने इस पोस्ट में महत्वपूर्ण बिट्स को कॉपी और पेस्ट किया है।
लिखने के समय मैं विंडोज 8.1, 64-बिट मशीन, एनाकोंडा / पायथन 2.x का उपयोग कर रहा था। (नीचे नोट्स देखें - यह विंडोज 10 के लिए भी काम करता है, और संभावित रूप से पायथन 3.x भी)।
नोट 1: जैसा कि टिप्पणी अनुभाग में @great_raisin (धन्यवाद) द्वारा उल्लेख किया गया है , यह समाधान विंडोज 10 के लिए भी काम करता है।
नोट 2: यह शायद एनाकोंडा / पायथन 3.x के लिए भी काम करेगा। यदि आप विंडोज 10 और एनाकोंडा / पायथन 3.x का उपयोग कर रहे हैं, और यह समाधान काम करता है, तो कृपया नीचे एक टिप्पणी जोड़ें। धन्यवाद! (अपडेट: टिप्पणी "विंडोज 10 पर काम करना" से ध्यान देना)
नोट 3: आप पायथन 2.x या 3.x का उपयोग कर रहे हैं या नहीं, इस print
आधार पर कोड स्निपेट में दिए गए विवरण को समायोजित करें । अर्थात् पायथन में 3.x यह होगा print("hello")
, और पायथन 2.x में यह होगा print "hello"
।
टी एल; डॉ
एनाकोंडा (और स्पाइडर आईडीई) के साथ पूरी तरह से ओपनसीवी का उपयोग करने के लिए, हमें निम्न करने की आवश्यकता है:
- OpenCV पैकेज को आधिकारिक OpenCV साइट से डाउनलोड करें
cv2.pyd
एनाकोंडा साइट-संकुल निर्देशिका में कॉपी और पेस्ट करें ।
- उपयोगकर्ता पर्यावरण चर सेट करें ताकि एनाकोंडा जानता है कि एफएफएमपीईजी उपयोगिता कहां मिलनी है।
- OpenCV की पुष्टि करने के लिए कुछ परीक्षण करें और FFMPEG अब काम कर रहे हैं।
(विस्तार निर्देशों के लिए पढ़ें ...)
शर्त
एनाकोंडा स्थापित करें
एनाकोंडा अनिवार्य रूप से एक अच्छी तरह से पैक किया गया पायथन आईडीई है जिसे टोंस के साथ उपयोगी पैकेजों जैसे कि नुमापी, पंडों, आईपीथॉन नोटबुक, आदि के साथ भेजा जाता है। वैज्ञानिक समुदाय में हर जगह इसकी सिफारिश की जाती है। इसे स्थापित करने के लिए एनाकोंडा की जाँच करें ।
एनाकोंडा के लिए OpenCV- पायथन स्थापित करें
सावधान नोट: मैंने मूल रूप से binstar.org OpenCV पैकेज को स्थापित करने की कोशिश की, जैसा कि सुझाव दिया गया है। उस विधि में FFMPEG कोडेक शामिल नहीं है - अर्थात आप OpenCV का उपयोग करने में सक्षम हो सकते हैं, लेकिन आप वीडियो संसाधित नहीं कर पाएंगे।
मेरे लिए निम्न निर्देश कार्य इस OpenCV YouTube वीडियो से प्रेरित है । अब तक मुझे यह अपने डेस्कटॉप और लैपटॉप, 64-बिट मशीनों और विंडोज 8.1 दोनों पर काम कर रहा है।
OpenCV पैकेज डाउनलोड करें
सबसे पहले, पूरा OpenCV पैकेज डाउनलोड करने के लिए आधिकारिक OpenCV साइट पर जाएं। एक ऐसा संस्करण चुनें जिसे आप पसंद करते हैं (2.x या 3.x)। मैं Python 2.x और OpenCV 3.x पर हूं - इसका मुख्य कारण यह है कि OpenCV- पायथन ट्यूटोरियल सेटअप / आधारित कैसे हैं।
मेरे मामले में, मैंने पैकेज (मूल रूप से एक फ़ोल्डर) को सीधे मेरी सी ड्राइव ( C:\opencv
) में निकाला है ।
Cv2.pyd फ़ाइल को कॉपी और पेस्ट करें
एनाकोंडा साइट-संकुल निर्देशिका (उदाहरण C:\Users\Johnny\Anaconda\Lib\site-packages
के लिए मेरे मामले में) में पायथन पैकेज शामिल हैं जिन्हें आप आयात कर सकते हैं। हमारा लक्ष्य cv2.pyd
इस निर्देशिका में फ़ाइल को कॉपी और पेस्ट करना है (ताकि हम import cv2
अपने पायथन कोड में उपयोग कर सकें ।)
ऐसा करने के लिए, cv2.pyd
फ़ाइल की प्रतिलिपि बनाएँ ...
इस OpenCV निर्देशिका से (शुरुआत वाला हिस्सा आपकी मशीन पर थोड़ा अलग हो सकता है)। पायथन 3.x के लिए, मुझे लगता है, बस उसी 2.x
के 3.x
अनुसार बदलना होगा ।
# Python 2.7 and 32-bit machine:
C:\opencv\build\python\2.7\x84
# Python 2.7 and 64-bit machine:
C:\opencv\build\python\2.7\x64
इस एनाकोंडा निर्देशिका के लिए (शुरुआत का हिस्सा आपकी मशीन पर थोड़ा अलग हो सकता है):
C:\Users\Johnny\Anaconda\Lib\site-packages
इस चरण को करने के बाद अब हम import cv2
पायथन कोड में उपयोग कर पाएंगे । लेकिन, हमें अभी भी काम करने के लिए FFMPEG (वीडियो कोडेक) प्राप्त करने के लिए थोड़ा और काम करने की जरूरत है (प्रसंस्करण वीडियो जैसी चीजों को करने के लिए हमें सक्षम करने के लिए)।
पर्यावरण चर सेट करें
"मेरा कंप्यूटर" (या विंडोज 8.1 पर "यह पीसी" पर राइट-क्लिक करें) → बाएं-क्लिक गुण → बाएं-क्लिक करें "उन्नत" टैब → बाएं-क्लिक करें "पर्यावरण चर ..." बटन।
OpenCV को इंगित करने के लिए एक नया उपयोगकर्ता चर जोड़ें (या तो 32-बिट सिस्टम के लिए x86 या 64-बिट सिस्टम के लिए x64)। मैं वर्तमान में 64-बिट मशीन पर हूं।
| 32-bit or 64 bit machine? | Variable | Value |
|---------------------------|--------------|--------------------------------------|
| 32-bit | `OPENCV_DIR` | `C:\opencv\build\x86\vc12` |
| 64-bit | `OPENCV_DIR` | `C:\opencv\build\x64\vc12` |
%OPENCV_DIR%\bin
उपयोगकर्ता चर के लिए आवेदन करें PATH
।
उदाहरण के लिए, मेरा PATH
उपयोगकर्ता चर इस तरह दिखता है ...
इससे पहले:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts
उपरांत:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin
यह हम कर रहे हैं! FFMPEG का उपयोग करने के लिए तैयार है!
पुष्टि करने के लिए परीक्षण करें
हमें यह जांचने की आवश्यकता है कि क्या अब हम एनाकोंडा (स्पाइडर आईडीई के माध्यम से) में ये कर सकते हैं:
- OpenCV पैकेज आयात करें
- FFMPEG उपयोगिता का उपयोग करें (वीडियो पढ़ने / लिखने / प्रक्रिया करने के लिए)
टेस्ट 1: हम OpenCV आयात कर सकते हैं?
यह पुष्टि करने के लिए कि एनाकोंडा अब OpenCV-Python पैकेज (अर्थात् cv2
) आयात करने में सक्षम है, IPython कंसोल में इन्हें जारी करें:
import cv2
print cv2.__version__
यदि पैकेज cv2
बिना किसी त्रुटि के ठीक है, और cv2
संस्करण प्रिंट हो गया है, तो हम सभी अच्छे हैं! यहाँ एक स्नैपशॉट है:
(स्रोत: mathalope.co.uk )
टेस्ट 2: क्या हम FFMPEG कोडेक का उपयोग कर सकते हैं?
input_video.mp4
एक निर्देशिका में एक नमूना वीडियो फ़ाइल रखें । हम परीक्षण करना चाहते हैं कि क्या हम कर सकते हैं:
- इस
.mp4
वीडियो फ़ाइल को पढ़ें , और
- एक नया वीडियो फ़ाइल लिखें (हो सकता है
.avi
या .mp4
आदि)
ऐसा करने के लिए हमारे पास एक परीक्षण पायथन कोड होना चाहिए, इसे कॉल करें test.py
। इसे नमूना input_video.mp4
फ़ाइल के समान निर्देशिका में रखें ।
यह ऐसा test.py
लग सकता है (मैंने नए और पुराने दोनों संस्करणों को यहां सूचीबद्ध किया है - हमें बताएं कि कौन सा काम करता है / आपके लिए काम नहीं करता है!)।
(नए संस्करण...)
import cv2
cap = cv2.VideoCapture("input_video.mp4")
print cap.isOpened() # True = read video successfully. False - fail to read video.
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter("output_video.avi", fourcc, 20.0, (640, 360))
print out.isOpened() # True = write out video successfully. False - fail to write out video.
cap.release()
out.release()
(या पुराना संस्करण ...)
import cv2
cv2.VideoCapture("input_video.mp4")
print cv2.isOpened() # True = read video successfully. False - fail to read video.
fourcc = cv2.cv.CV_FOURCC(*'XVID')
out = cv2.VideoWriter("output_video.avi",fourcc, 20.0, (640,360))
print out.isOpened() # True = write out video successfully. False - fail to write out video.
cap.release()
out.release()
यह परीक्षण बहुत महत्वपूर्ण है। यदि आप वीडियो फ़ाइलों को संसाधित करना चाहते हैं, तो आपको यह सुनिश्चित करने की आवश्यकता होगी कि एनाकोंडा / स्पाइडर आईडीई FFMPEG (वीडियो कोडेक) का उपयोग कर सकता है। मुझे काम करने में कई दिन लग गए। लेकिन मुझे आशा है कि इसमें आपको बहुत कम समय लगेगा! :)
नोट: एनाकोंडा स्पाइडर आईडीई का उपयोग करते समय एक और बहुत महत्वपूर्ण टिप। सुनिश्चित करें कि आप वर्तमान कार्यशील निर्देशिका (CWD) की जांच कर रहे हैं !!!
निष्कर्ष
एनाकोंडा (और स्पाइडर आईडीई) के साथ पूरी तरह से ओपनसीवी का उपयोग करने के लिए, हमें निम्न करने की आवश्यकता है:
- OpenCV पैकेज को आधिकारिक OpenCV साइट से डाउनलोड करें
cv2.pyd
एनाकोंडा साइट-संकुल निर्देशिका में कॉपी और पेस्ट करें ।
- उपयोगकर्ता पर्यावरण चर सेट करें ताकि एनाकोंडा जानता है कि एफएफएमपीईजी उपयोगिता कहां मिलनी है।
- OpenCV की पुष्टि करने के लिए कुछ परीक्षण करें और FFMPEG अब काम कर रहे हैं।
सौभाग्य!