ฉันจะติดตั้ง Python OpenCV ผ่าน Conda ได้อย่างไร


229

ฉันกำลังพยายามติดตั้ง OpenCV สำหรับ Python ผ่านAnacondaแต่ฉันไม่สามารถเข้าใจได้

ฉันเหนื่อย

conda install opencv
conda install cv2

ฉันลองค้นหาด้วย

conda search cv

ไม่มีซิการ์ ฉันวิ่งข้ามสิ่งนี้ซึ่งแสดงรายการopencvเป็นแพคเกจรวม:

http://docs.continuum.io/anaconda/pkgs.html

หลังจากทำงานconda infoฉันสังเกตเห็นว่าเวอร์ชันของฉันคือ 3.4.1 แต่ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับเวอร์ชันนี้ทางออนไลน์ ฉันค่อนข้างสับสนเกี่ยวกับเรื่องนี้

ฉันคิดถึงสิ่งที่เห็นได้ชัดที่นี่หรือไม่ หากopencvมีให้สำหรับ Anaconda รุ่นก่อนหน้าแล้วทำไมจึงไม่พร้อมใช้งานสำหรับเวอร์ชันที่ใหม่กว่า และทำไมลิงค์นั้นแสดงเอกสารสำหรับรุ่น 1.9.2 ถึงฉันเท่านั้น


1
โมดูลตัวห่อหุ้ม opencv ปัจจุบันเรียกว่า cv2 (รายการแรกในรายการคุณคือ wrapper ของบุคคลที่สามที่ล้าสมัยอันที่ 3 คือ wrapper ของ c-api ที่ล้าสมัยคุณไม่ควรใช้สิ่งเหล่านี้) - น่าเสียดายที่ฉันไม่เคยพบคนที่ประสบความสำเร็จบน anaconda ไม่สามารถใช้ python 2.7 ปกติได้หรือ
berak

4
ไม่มีอะไรที่มีอนาคอนดาที่ป้องกันไม่ให้คุณใช้กับ opencv มันไม่รวมอยู่ในการติดตั้ง conda ยกเว้นสำหรับ linux คุณสามารถรับไฟล์ไบนารีได้จากที่นี่เพื่อติดตั้งwindows
M4rtini

3
ใช้งานได้แล้วจาก repo มาตรฐาน:conda install opencv
fviktor

1
ทุกคน. ฉันพบว่าการใช้เจ้าของ Anaconda Cloud Repository ทำงานได้ดีเช่นกัน เช่นแทนที่จะใช้ opencv ของ menpo y ใช้ conda-forge's นี่คือเจ้าของ OpenCV หลายรายที่มีระบบปฏิบัติการที่เกี่ยวข้อง: anaconda.org/search?q=openCVฉันใช้รหัสนี้: conda ติดตั้ง -c conda-forge opencv = 3.2.0 โชคดี!
RaúlMG

2
ด้วย anaconda 3 ให้พิมพ์conda install opencvcommand บน annaconda prompt ติดตั้ง 3.4.1 opencv และแพ็คเกจขึ้นอยู่กับมัน ทำงานสำหรับฉันและมันไม่จำเป็นต้องมีข้อกำหนดการติดตั้งแบบกำหนดเองใด ๆ
ambar mishra

คำตอบ:


223

คุณสามารถติดตั้งได้โดยใช้ binstar:

conda install -c menpo opencv

9
ฉันพยายามใช้วิธีนี้เพื่อติดตั้ง OpenCV แต่ฉันพบปัญหาเมื่อฉันพิมพ์ import cv ฉันได้รับข้อผิดพลาดในการโหลด DLL ที่ล้มเหลว: ไม่พบโมดูลที่ระบุ ฉันสงสัยว่าคุณพบปัญหานี้ระหว่างการติดตั้งหรือไม่
cogle

5
ทำงานให้ฉันใน windows 7
waldol1

1
อืมแม้ว่าจะไม่อนุญาตให้ฉันimport cv2.cv(ฉันหายไปบางสิ่งบางอย่างชัดเจน?)
Andy Hayden

2
สิ่งนี้ใช้ได้กับ OSX 10.10.5 กับ conda 13.8.4 ปัญหา "รองลงมาเท่านั้นคือต้องใช้ numpy 1.10.1 ซึ่งก็โอเค แต่ฉันรันการอัปเดต conda - ทั้งหมดและบางไลบรารีต้องการลดระดับเป็น 1.9 เพื่อให้ทำงานได้
mercerge แจ็กสัน

2
สิ่งนี้ใช้ได้ดีกับ Anaconda 2.7 บน Win10 64 บิตในขณะที่conda install opencvทำไม่ได้
Anton Schwaighofer

117

conda install opencvปัจจุบันใช้งานได้สำหรับฉันใน UNIX / python2 นี่เป็นสิ่งที่ควรลองก่อนลองปรึกษาโซลูชันอื่น ๆ


3
มันใช้งานได้สำหรับฉันสามคนบน Ubuntu 14.04 :-) ขอบคุณ!
Rafael_Espericueta

10
ไม่ใช่กับงูหลาม 3.4:Error: Unsatisfiable package specifications.
Andy Hayden

7
ใช้เพียงแค่ "conda install opencv" บน Ubuntu 14.04 กับ Anaconda 2.7 และ PyCharm พ่นข้อผิดพลาดเมื่อฉันใช้ 'cv2.imshow (' name ', img) ที่ระบุว่าแพ็คเกจนั้นจำเป็นต้องสร้างใหม่ด้วยการสนับสนุน "GTK + 2.x" ดังนั้นดูเหมือนจะไม่เป็นประโยชน์สำหรับใครบางคนที่ใช้ PyCharm เป็น IDE บน Ubuntu
Phil Glau

1
ไม่conda search opencvผลตอบแทนสำหรับคุณ? มันไม่ได้สำหรับฉัน
user3731622

1
ทำงานร่วมกับ Ubuntu 18.04 และ Python 3.6
Nagabhushan SN

113

สิ่งนี้ใช้ได้สำหรับฉัน (บน Ubuntu และ conda 3.18.3):

conda install --channel https://conda.anaconda.org/menpo opencv3

คำสั่งข้างต้นเป็นสิ่งที่แสดงให้ฉันเห็นเมื่อฉันวิ่งต่อไปนี้:

anaconda show menpo/opencv3

นี่คือผลลัพธ์:

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/menpo opencv3

ฉันทดสอบต่อไปนี้ในหลามโดยไม่มีข้อผิดพลาด:

>>> import cv2
>>>

6
ลองใช้วิธีอื่น ๆ ในการติดตั้ง opencv3 ในที่สุดมันก็ใช้ได้กับฉันใน OSX 10.10.5
Merlin

2
คุณไปแล้ว! สิ่งนี้ใช้ได้กับ Ubuntu 14.04, Anaconda กับ Python 3.5
arunatebel

3
ทำงานให้ฉันด้วยบน Windows 10
dshgna

1
ดีเยี่ยม ทำงานได้ดีอย่างน่าอัศจรรย์ ลองตัวเลือกอื่น ๆ อีกมากมายและขอบคุณอย่างเต็มที่ฉันพบสิ่งนี้ ขอบคุณมาก. Windows 8.1 X64
Natarajan Raman

2
ที่น่าสนใจนี้ติดตั้ง cv2.pyd นั่นคือ ~ 2.3 MB แต่ถ้าคุณไปที่เว็บไซต์ openCV และดาวน์โหลดไบนารี่ opencv2.pyd จากที่นั่นคือ> 44MB นอกจากนี้ไฟล์ pyd ทั้งสองผ่านการทดสอบ 'นำเข้า' ดังนั้นฉันจึงสงสัยว่าทำไมอานาคอนดา repo มีขนาดเล็ก
aquagremlin

77

ผมได้สรุปวิธีการแก้ปัญหาตอนนี้ทำงานอย่างเต็มที่ของฉันOpenCV หลาม - วิธีการติดตั้งแพคเกจ OpenCV-งูหลามงู (Windows) อย่างไรก็ตามฉันได้คัดลอกและวางบิตสำคัญในโพสต์นี้


ตอนที่เขียนผมใช้ Windows 8.1, เครื่อง 64- บิต, Anaconda / Python 2.x (ดูหมายเหตุด้านล่าง - สามารถใช้งานได้กับ Windows 10 และ Python 3.x ด้วยเช่นกัน)

  • หมายเหตุ 1: ตามที่กล่าวถึงโดย@great_raisin (ขอบคุณ) ในส่วนความคิดเห็นอย่างไรก็ตามวิธีนี้ดูเหมือนว่าจะใช้งานได้กับ Windows 10 ด้วย

  • หมายเหตุ 2: นี่อาจจะใช้ได้กับ Anaconda / Python 3.x เช่นกัน หากคุณใช้ Windows 10 และ Anaconda / Python 3.x และวิธีนี้ใช้ได้ผลโปรดเพิ่มความคิดเห็นด้านล่าง ขอบคุณ! (อัปเดต: สังเกตจากความคิดเห็น "ทำงานบน Windows 10")

  • หมายเหตุ 3: ขึ้นอยู่กับว่าคุณใช้ Python 2.x หรือ 3.x เพียงแค่ปรับprintคำสั่งตามลำดับในตัวอย่างโค้ด เช่นในหลาม 3.x มันจะเป็นprint("hello")และในหลาม 2.x print "hello"มันจะเป็น

TL; DR

ในการใช้ OpenCV อย่างสมบูรณ์กับ Anaconda (และ Spyder IDE) เราจำเป็นต้อง:

  1. ดาวน์โหลดแพ็คเกจ OpenCV จากเว็บไซต์ทางการ OpenCV
  2. คัดลอกและวางcv2.pydไปยังไดเรกทอรี Anaconda site-packages
  3. ตั้งค่าตัวแปรสภาพแวดล้อมของผู้ใช้เพื่อให้ Anaconda รู้ว่าจะหายูทิลิตี้ FFMPEG ได้ที่ไหน
  4. ทำการทดสอบเพื่อยืนยันว่า OpenCV และ FFMPEG ทำงานได้แล้ว

(อ่านต่อเพื่อดูรายละเอียดคำแนะนำ ... )

ที่จำเป็นต้องมี

ติดตั้ง Anaconda

Anaconda นั้นเป็น Python IDE ที่ได้รับการบรรจุอย่างดีซึ่งมาพร้อมกับแพคเกจที่มีประโยชน์มากมายเช่น NumPy, Pandas, IPython Notebook ฯลฯ ดูเหมือนว่าจะแนะนำได้ทุกที่ในชุมชนวิทยาศาสตร์ ลองชมAnacondaเพื่อทำการติดตั้ง

ติดตั้ง OpenCV-Python ไปที่ Anaconda

ข้อควรระวัง: ตอนแรกฉันลองทำการติดตั้งแพคเกจ binstar.org OpenCV ตามที่แนะนำแล้ว อย่างไรก็ตามวิธีดังกล่าวไม่รวมตัวแปลงสัญญาณ FFMPEG เช่นคุณอาจใช้ OpenCV ได้ แต่คุณจะไม่สามารถประมวลผลวิดีโอได้

การเรียนการสอนต่อไปนี้สำหรับฉันเป็นแรงบันดาลใจจากวิดีโอOpenCV YouTubeนี้ จนถึงตอนนี้ฉันได้ทำงานทั้งบนเดสก์ท็อปและแล็ปท็อปของฉันทั้งเครื่อง 64 บิตและ Windows 8.1

ดาวน์โหลดแพ็คเกจ OpenCV

ก่อนอื่นให้ไปที่เว็บไซต์ OpenCV อย่างเป็นทางการเพื่อดาวน์โหลดแพ็คเกจ OpenCV ที่สมบูรณ์ เลือกรุ่นที่คุณชอบ (2.x หรือ 3.x) ฉันใช้ Python 2.x และ OpenCV 3.x - ส่วนใหญ่เป็นเพราะนี่คือวิธีการสอนของ OpenCV-Python ในการตั้งค่า / อ้างอิง

ในกรณีของฉันฉันได้แยกแพคเกจ (เป็นหลักโฟลเดอร์) ตรงไปยังไดรฟ์ C ของฉัน ( C:\opencv)

คัดลอกและวางไฟล์ cv2.pyd

ไดเรกทอรีแพคเกจเว็บไซต์ Anaconda (เช่นC:\Users\Johnny\Anaconda\Lib\site-packagesในกรณีของฉัน) มีแพ็คเกจ Python ที่คุณอาจนำเข้า เป้าหมายของเราคือการคัดลอกและวาง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

ไปยังไดเรกทอรี Anaconda นี้ (ส่วนเริ่มต้นอาจแตกต่างกันเล็กน้อยในเครื่องของคุณ):

C:\Users\Johnny\Anaconda\Lib\site-packages

หลังจากทำตามขั้นตอนนี้เราจะสามารถใช้งานได้import cv2ในรหัส Python แต่เรายังต้องทำงานอีกเล็กน้อยเพื่อให้ FFMPEG (ตัวแปลงสัญญาณวิดีโอ) ทำงาน (เพื่อให้เราสามารถทำสิ่งต่าง ๆ เช่นการประมวลผลวิดีโอ)

ตั้งค่าตัวแปรสภาพแวดล้อม

คลิกขวาที่ "My Computer" (หรือ "PC นี้" ใน Windows 8.1) →คลิกซ้ายที่Properties →คลิกซ้ายที่แท็บ "Advanced" →คลิกซ้ายที่ปุ่ม "ตัวแปรสภาพแวดล้อม ... "

เพิ่ม User Variable ใหม่ให้ชี้ไปที่ OpenCV (x86 สำหรับระบบ 32 บิตหรือ x64 สำหรับระบบ 64 บิต) ขณะนี้ฉันอยู่บนเครื่อง 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%\binPATH

ตัวอย่างเช่นPATHตัวแปรผู้ใช้ของฉันมีลักษณะเช่นนี้ ...

ก่อน:

C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts

หลังจาก:

C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin

นี่คือสิ่งที่เราทำ! FFMPEG พร้อมใช้งานแล้ว!

ทดสอบเพื่อยืนยัน

เราต้องทดสอบว่าตอนนี้เราสามารถทำได้ใน Anaconda (ผ่าน Spyder IDE) หรือไม่:

  • นำเข้าแพ็คเกจ OpenCV
  • ใช้ยูทิลิตี้ FFMPEG (เพื่ออ่าน / เขียน / ประมวลผลวิดีโอ)

ทดสอบ 1: เราสามารถนำเข้า OpenCV ได้หรือไม่

เพื่อยืนยันว่าขณะนี้ Anaconda สามารถนำเข้าแพ็คเกจ OpenCV-Python (เช่น, cv2) ได้แล้วให้ออกรายการเหล่านี้ในคอนโซล IPython:

import cv2
print cv2.__version__

หากแพคเกจcv2จะถูกนำเข้าตกลงโดยไม่มีข้อผิดพลาดและcv2รุ่นจะถูกพิมพ์ออกมาแล้วเราทุกคนดี! นี่คือภาพรวม:

การนำเข้า CV2-ok ในงูหลาม 2.png
(ที่มา: 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()

การทดสอบนี้สำคัญมาก หากคุณต้องการประมวลผลไฟล์วิดีโอคุณต้องแน่ใจว่า Anaconda / Spyder IDE สามารถใช้ FFMPEG (ตัวแปลงสัญญาณวิดีโอ) ฉันใช้เวลาหลายวันกว่าจะทำงานได้ แต่ฉันหวังว่าคุณจะใช้เวลาน้อยลง! :)

หมายเหตุ: อีกหนึ่งเคล็ดลับที่สำคัญมากเมื่อใช้ Anaconda Spyder IDE ตรวจสอบให้แน่ใจว่าคุณตรวจสอบไดเรกทอรีการทำงานปัจจุบัน (CWD) !!!

ข้อสรุป

ในการใช้ OpenCV อย่างสมบูรณ์กับ Anaconda (และ Spyder IDE) เราจำเป็นต้อง:

  1. ดาวน์โหลดแพ็คเกจ OpenCV จากเว็บไซต์ทางการ OpenCV
  2. คัดลอกและวางcv2.pydไปยังไดเรกทอรี Anaconda site-packages
  3. ตั้งค่าตัวแปรสภาพแวดล้อมของผู้ใช้เพื่อให้ Anaconda รู้ว่าจะหายูทิลิตี้ FFMPEG ได้ที่ไหน
  4. ทำการทดสอบเพื่อยืนยันว่า OpenCV และ FFMPEG ทำงานได้แล้ว

โชคดี!


4
คำตอบที่ยอดเยี่ยม! โปรดทราบว่าหากคุณกำลังใช้สภาพแวดล้อม conda cv2.pydควรเพิ่มในsite-packagesโฟลเดอร์ของสภาพแวดล้อม(เช่นC:\Users\cod3monk3y\Anaconda\envs\foo\Lib\site-packages\cv2.pyd) นอกจากนี้ยังมีข้อสังเกตว่าไฟล์. pyd เป็นเพียง Windows DLL ที่มีส่วนต่อประสานเฉพาะเพื่อเล่นกับ Python
cod3monk3y

รหัสที่คุณโพสต์ไว้ด้านบนจะพิมพ์ออกมาจริงสำหรับฉัน แต่ผลลัพธ์คือไฟล์วิดีโอขนาด 6kb ที่ว่างเปล่า อย่างไรก็ตามรหัสด้านล่างเขียนลงไฟล์อย่างถูกต้อง (ฉันจะรับตัวแบ่งบรรทัดในความคิดเห็นเหล่านี้ได้อย่างไร)
aquagremlin

1
ถ้าฉันสามารถทำมันได้มากกว่านี้ฉันจะตอบให้ดีที่สุด ฉันจะเพิ่มถ้าคุณได้ติดตั้ง python ถอนการติดตั้งมัน conda มีของตัวเอง
มิกกี้ Perlstein

1
ขอบคุณสำหรับสิ่งนี้! การทดสอบที่แนะนำอีกข้อหนึ่งที่พาฉันไปสักครู่เพื่อคิดออก หลังจากยืนยันว่าวิดีโอสามารถเปิดได้ฉันต้องการยืนยันว่าฉันสามารถแยกเฟรม (เฟรม 100) เป็นอาร์เรย์ได้ ใน openCV 2.4.9 คำสั่งสำหรับสิ่งนี้คือ cap.set (cv2.cv.CV_CAP_PROP_POS_FRAMES, 100) ใน openCV 3.2.0 คำสั่งที่เทียบเท่าได้เปลี่ยนเป็น cap.set (cv2.CAP_PROP_POS_FRAMES, 100)
สิ้นสุด

1
ขอบคุณครับสำหรับคำตอบที่ยอดเยี่ยมและอธิบายได้ดี คุณกำลังทำให้ชีวิตง่ายขึ้นสำหรับมือใหม่มากมาย!
Ibrahim Amer

29

ดูเหมือนว่าหน้าเว็บที่คุณเชื่อมโยงจะopencvไม่มีอีกต่อไป (ตลกฉันจำได้ว่ามันรวมอยู่ในจุดก่อนหน้าเช่นกัน)

ไม่ว่าในกรณีใดการติดตั้ง OpenCV ลงใน Anaconda แม้ว่าจะไม่สามารถใช้งานได้ผ่าน conda แต่ก็ไม่สำคัญ คุณต้องดาวน์โหลดไฟล์เดียว

  1. ดาวน์โหลด OpenCV จากhttp://opencv.org/downloads.htmlและแตกไฟล์
  2. จากโฟลเดอร์ที่คลายบีบอัดให้คัดลอกไฟล์จากไดเรกทอรีที่แยกแล้ว: opencv / build / python / 2.7 / (x86 หรือ x64 แล้วแต่รุ่น Anaconda ของคุณ) /cv2.pyd ไปยังไดเรกทอรี Anaconda site-packages ของคุณเช่น C: \ งู \ Lib \ เว็บไซต์แพคเกจ
  3. ในการรับ FFmpeg ภายในopencvให้ทำงานคุณจะต้องเพิ่มไดเรกทอรีที่ FFmpeg ตั้งอยู่ในพา ธ (เช่น opencv / sources / 3rdparty / ffmpeg) จากนั้นคุณจะต้องค้นหาไฟล์ DLL ในโฟลเดอร์นั้น (เช่น opencv_ffmpeg_64.dll) และคัดลอกหรือเปลี่ยนชื่อเป็นชื่อไฟล์ที่มีopencvเวอร์ชั่นที่คุณกำลังติดตั้ง (เช่น opencv_ffmpeg249_64) สำหรับ 2.4.9

ตอนนี้ที่พรอมต์ Python คุณควรจะสามารถพิมพ์ "import cv2" ... เพื่อตรวจสอบว่ามันใช้งานได้หรือไม่พิมพ์ "print cv2 .__ version__" และควรพิมพ์เวอร์ชั่น OpenCV ที่คุณดาวน์โหลด


7
ใครบางคนสร้างแพคเกจ binstar ซึ่งคุณควรดาวน์โหลดผ่าน Conda ได้ทันที: binstar.org/menpo/opencv/files
Ivo Flipse

คุณช่วยบอกวิธีการดาวน์โหลด opencv ผ่าน conda ได้ไหม ฉันดาวน์โหลดแพคเกจ mac ในลิงค์ด้านบนฉันจะทำอย่างไรจากที่นั่น?
venuktan

@venuktan conda install opencv ควรจะทำ
อวกาศ

4
@eculeus คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับการยืนยัน ffmpeg ได้อีกเล็กน้อย ฉันสามารถอ่านจากเว็บแคมของฉันได้ แต่มีปัญหาในการอ่าน / เขียนไฟล์วิดีโอ ฉันดูในไดเรกทอรีที่ 3party / ffmpeg และ renmaed dll ไปที่: opencv_ffmpeg300_64.dll คุณพูดถึงว่า ffmpeg ควรอยู่ในเส้นทาง คุณหมายถึง path ของ windows PATH หรือ sys.path ใน python หรือเปล่า
พอล

1
ทำงานให้ฉัน ขอบคุณ
Indrajit

21

ในเดือนพฤษภาคม 2019 คำตอบมีดังต่อไปนี้สำหรับ MacOS:

conda update freetype
conda install opencv -c conda-forge

อัปเดตlibfreetype.6.dylibเป็นความเข้ากันได้ 24.0.0 และติดตั้ง OpenCV 4.1.0


สิ่งนี้จะติดตั้ง "cv2" หรือไม่
สวิส

@AdamErickson นี่คือ Anaconda Prompt ที่ทำงานเป็นผู้ดูแลระบบหรือไม่
mLstudent33

2
@ mLstudent33 คำสั่งถูกเรียกใช้ใน Bash และการติดตั้ง Anaconda อยู่ในโฟลเดอร์ในเครื่องดังนั้นจึงไม่sudoจำเป็น ฉันจะหลีกเลี่ยงการทำงานcondaเป็นsudoเว้นแต่คุณจะจัดการทั้งระบบติดตั้งสำหรับผู้ใช้หลายคนซึ่งผมยังทำ ในกรณีนี้ฉันมักจะระมัดระวังในการเปิดใช้งานสภาพแวดล้อม conda จากนั้นsudo ./conda ...จาก/binโฟลเดอร์ของสภาพแวดล้อมนั้นเพื่อความระมัดระวังเป็นพิเศษเนื่องจากsudoการเปลี่ยนแปลงของคุณPATHแม้ในขณะที่ใช้-Eธง
Adam Erickson

@ AdamErickson มันใช้งานได้สำหรับฉัน แต่ฉันได้ v3.4.2 แทน ความคิดใด ๆ
Brett

1
อัปเดตเป็นด้านบน: ฉันคิดว่าฉันlibopencvติดตั้งรุ่นก่อนหน้านี้แล้ว หลังจากลบมันทำงานconda install opencvติดตั้งรุ่นล่าสุด
Brett

20

คุณสามารถติดตั้ง OpenCV ได้ด้วยการรันคำสั่งเหล่านี้ในพร้อมท์คำสั่ง Anaconda:

conda config --add channels conda-forge

conda install libopencv opencv py-opencv

ที่มา:

https://github.com/conda-forge/opencv-feedstock


2
(นี่คือคำตอบที่ซ้ำกันที่มีอยู่ w / การแก้ไขไม่แน่ใจว่ามาก่อน) menpo repo ไม่ได้รับการสนับสนุนอีกต่อไปgithub.com/menpo/conda-opencv3 ; ตอนนี้ขอแนะนำให้ใช้ conda-forge github.com/conda-forge/opencv-feedstock
michael

หากใช้ miniconda ภายใต้ ubuntu 18.04; ขั้นตอน "การแก้ไขสภาพแวดล้อม" จะใช้เวลานานมากหากคุณติดตั้งแพคเกจแอนาคอนดาใหม่ล่าสุด สร้าง enic miniconda ที่สะอาดโดยไม่ต้องใช้อนาคอนดาขนาดใหญ่ (เช่นconda create --name abc python=2.7)
Oliver Zendel

17

ในการติดตั้ง OpenCV ใน Anaconda ให้เริ่มต้นพร้อมท์คำสั่ง Anaconda และติดตั้ง OpenCV ด้วย

conda install -c https://conda.anaconda.org/menpo opencv3

ทดสอบว่าใช้งานได้ในคอนโซล Anaconda Spyder หรือ IPython ด้วย

import cv2

คุณสามารถตรวจสอบเวอร์ชั่นที่ติดตั้งโดยใช้:

cv2.__version__

สิ่งนี้ใช้ได้กับฉันใน Win 10, 64 bit ทำงานใน Spyder
pcomitz

ใช้งานได้กับ opencv3 -> python [version = '2.7. * | 3.4. * | 3.5. *'] ล้มเหลวสำหรับ Python 3.7
Nuhman

@AMC ฉันไม่ได้ใช้ ยังมีวิธีการทำงานสำหรับ 3.7 หรือไม่?
Nuhman

1
@Nuhman ใช่คุณสามารถรับ opencv จากช่อง Anaconda อย่างเป็นทางการรวมทั้งจาก conda-forge ( ที่นี่ )
AMC

14

การติดตั้งต่อไปนี้opencvจากconda-forge(หมายเหตุ: พยายามบน Windows)

conda config --add channels conda-forge
conda install opencv

4
menpo repo ไม่รองรับอีกต่อไปgithub.com/menpo/conda-opencv3 ; ตอนนี้แนะนำให้ใช้ conda-forge github.com/conda-forge/opencv-feedstock
michael

2
@ ไมเคิลจริง ๆ conda-forge เป็นคำตอบที่ถูกต้อง ณ จุดนี้และมันถูกฝังอยู่ในคำตอบโบราณ :(
eric

ฉันไปข้างหน้า & เพิ่มการปรับปรุงคำตอบนี้เพื่อลบmenpoและอัปเดตไวยากรณ์สำหรับการติดตั้งopencvตามconda-forgeคำแนะนำ คำตอบนั้นไม่ได้มีการเปลี่ยนแปลงอย่างmenpoแท้จริงเช่นเดียวกับการติดตั้ง "รุ่นใหม่" opencv3 และเราอยู่ใน opencv4 แล้ว
ไมเคิล

8

ในการติดตั้ง OpenCv ด้วย conda บน Windows-64 และ Python 3.5 สิ่งเดียวที่ใช้ได้สำหรับฉันคือ:

conda install -c conda-forge opencv=3.1.0 

7

ฉันมีปัญหาเดียวกันทั้งหมดและไม่สามารถรับ conda เพื่อติดตั้ง OpenCV อย่างไรก็ตามฉันจัดการเพื่อติดตั้งด้วยโปรแกรมติดตั้ง OpenCV ที่คุณพบในเว็บไซต์นี้:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

ไฟล์ของเขาคือไฟล์ "Wheel" whl ที่สามารถติดตั้งได้ด้วย pip เช่น

pip ติดตั้ง SomePackage-1.0-py2.py3-none-any.whl

ในหน้าต่างคำสั่ง มันทำงานร่วมกับ Spyder โดยตรงหลังจากรันคำสั่งนี้สำหรับฉัน ฉันเคยมีประสบการณ์แบบเดียวกันกับแพ็คเกจอื่น ๆ เว็บไซต์ UC Irvine ข้างต้นเป็นเหมืองทองคำ


7

ฉันป้อนคำสั่งต่อไปนี้ในพร้อมท์คำสั่ง:

conda install -c menpo opencv=2.4.11

สิ่งนี้ได้ผลสำหรับฉัน !!!


ทำงานให้ฉันด้วย!
Gu Wang

@aavos: ขอบคุณมาก
Rika

7

ฉันคิดว่าตัวเลือกที่ง่ายที่สุดที่ควรใช้ข้ามแพลตฟอร์มและเวอร์ชันต่าง ๆ ของ Anaconda คือ

#Run Anaconda Prompt as an Administrator (on Windows) & execute the command below
#(you may need to use   sudo   on a Unix-Based or Mac system 
#to have the needed permissions)

conda install -c conda-forge opencv

5

เช่นเดียวกับคนอื่น ๆ ฉันมีปัญหากับ Python 3.5.1 / Anaconda 2.4.0 บน OS X 10.11 ..

แต่ฉันพบแพ็คเกจที่เข้ากันได้ที่นี่:

https://anaconda.org/menpo/opencv3

มันสามารถติดตั้งผ่านทางบรรทัดคำสั่งดังนี้:

 conda install -c https://conda.anaconda.org/menpo opencv3

ทำงานเหมือนจับใจ ครั้งแรกที่ฉันได้รับ OpenCV เพื่อใช้งาน 3.x!


5

บน Linux ดังที่กล่าวไว้ที่นี่วิธีที่ดีที่สุดในการรับ opencv ในปัจจุบันมาจาก loopbio ที่ conda-forge:

conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv

หากคุณมี 'CPU ที่ทันสมัย' นอกจากนี้ยังมีรุ่นที่คอมไพล์แล้ว "เปิดใช้งานส่วนขยายชุดคำสั่ง CPU ที่ทันสมัยทั้งหมด [... ] และต่อ libjpeg-turbo":

conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv-turbo`

โซลูชันสองข้อที่กล่าวถึงในคำตอบอื่น ๆ ไม่ทำงานอย่างไม่มีเงื่อนไข:

  • CONDA คุณได้รับผ่านconda install opencvหรือpip install opencv-pythonไม่ได้รับการสนับสนุน GTK2 imshowดังนั้นคุณจึงไม่สามารถแสดงภาพผ่าน
  • Conda สร้างโดย Menpo ( conda install -c menpo opencv3) ได้รับการสนับสนุนgtk2 แต่
    • พวกเขาสร้างเพียง OpenCV 3.2 สำหรับ Python 3.5 ไม่ใช่ Python 3.6
    • Ubuntu 16.10 ได้เลิกใช้แล้วlibpng12นำไปสู่การพึ่งพาที่ขาดหายไปและข้อผิดพลาดต่อไปนี้เมื่อพยายามimport cv2: ImportError: libpng12.so.0: cannot open shared object file: No such file or directoryตามที่อธิบายไว้ที่นี่

แก้ไข: @ ยามาเนโกะชี้ให้เห็นว่า ณ วันที่ 14 มิถุนายน 2560 "มีปัญหากับ OpenCV เวอร์ชัน 3.2.0 ของ loopbio มันไม่สามารถอ่านและเขียนวิดีโอได้เนื่องจากมีการรวมกันของปัญหา OpenCV ต้นน้ำร่วมกับ GCC เก่ารายละเอียดเพิ่มเติมที่นี่มี PR กำลังหาทางแก้ไขปัญหา "


1
+1 มาที่นี่เพื่อโพสต์สิ่งนี้ อย่างไรก็ตามสิ่งหนึ่งที่ต้องระลึกไว้เสมอว่ามีปัญหากับ OpenCV เวอร์ชัน 3.2.0 ของ loopbio ณ วันนี้ มันไม่สามารถอ่านและเขียนวิดีโอได้อย่างเงียบ ๆ มันเกิดจากการรวมกันของปัญหา OpenCV ต้นน้ำร่วมกับ GCC เก่า รายละเอียดเพิ่มเติมที่นี่ มีการประชาสัมพันธ์เกี่ยวกับวิธีการแก้ไขปัญหา
Yamaneko

5

ใช้งานได้กับ anaconda3 windows 10 ฉันได้ดาวน์โหลดไปแล้วเมื่อวันที่ 5 ธันวาคม 2019

ประการแรกใช้คำสั่งนี้:

pip install opencv-contrib-python

หลังจากนั้น windows จะขออนุญาตและลองอีกครั้ง:

pip install opencv-contrib-python --user

ดูนี่มันใช้งานได้ !!

openCV โดยใช้อนาคอนดา openCV โดยใช้อนาคอนดา


มีเหตุผลที่จะทำเช่นนี้แทนที่จะเพียงแค่ติดตั้งจาก conda-forge? อย่างไรก็ตามการใช้สภาพแวดล้อมพื้นฐานเพื่อการพัฒนานั้นเป็นความคิดที่ดี แต่อย่าแตะต้องมัน
AMC

4

โซลูชันWindows เท่านั้น การติดตั้ง pip OpenCV 3.x สำหรับ Python 3.x

ดาวน์โหลดไฟล์. hl ( cp MN ที่คุณมี Python MN) contribรวมถึงแพ็คเกจเสริม OpenCV ตัวอย่างเช่นสมมติว่าคุณมี Python 3.6 และ Windows 64 บิตคุณอาจดาวน์โหลด opencv_python ‑ 3.2.0 + ตัวควบคุม ‑ cp36 ‑ cp36m ‑ win_amd64.whl

จากประเภทพรอมต์คำสั่ง:

pip install opencv_python3.2.0+contribcp36cp36mwin_amd64.whl

คุณจะมีแพ็คเกจในconda list:opencv-python 3.2.0+contrib <pip>

ตอนนี้คุณสามารถทดสอบได้ (ไม่มีข้อผิดพลาด):

>>> import cv2
>>>

หน้าต้นฉบับที่ผมเอาข้อมูลที่อยู่ที่นี่


4

วิธีที่ง่ายและตรงไปตรงมาคือการติดตั้ง python3.5 ก่อนติดตั้ง opencv3

conda install python=3.5

ติดตามโดย

conda install --channel https://conda.anaconda.org/menpo opencv3 

1
จะopencv3ต้องไม่เป็นopencv=3.1.0
ขีดคั่น

4

หากconda install opencvหรือconda install -c https://conda.binstar.org/menpo opencvไม่ทำงานคุณสามารถลองรวบรวมจากแหล่งที่มา

ดาวน์โหลดแหล่งที่มาจากhttp://opencv.org/downloads.htmlทำตามคำแนะนำในการติดตั้งในhttp://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html (บางทีคุณอาจกระโดด เป็นส่วนสุดท้ายโดยตรง 'การสร้าง OpenCV จากแหล่งที่มาโดยใช้ CMake ... ) ให้เปลี่ยนcmakeคำสั่งดังต่อไปนี้:

mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/**/env/opencv-2.4.10 -D BUILD_NEW_PYTHON_SUPPORT=ON -D PYTHON_EXECUTABLE=/home/**/env/anaconda/bin/python -D PYTHON_INCLUDE_DIR=/home/**/env/anaconda/include/python2.7 -D PYTHON_LIBRARY=/home/**/env/anaconda/lib/libpython2.7.so -D PYTHON_PACKAGES_PATH=/home/**/env/anaconda/lib/python2.7/site-packages -D PYTHON_NUMPY_INCLUDE_DIRS=/home/**/env/anaconda/lib/python2.7/site-packages/numpy/core/include ..

make -j4
make install

anaconda/lib/python2.7/site-packagesคุณจะพบใน cv2.so

แล้ว:

import cv2
print cv2.__version__

2.4.10มันจะพิมพ์ออกมา

สภาพแวดล้อมของฉันคือ GCC 4.4.6, Python 2.7 (แอนาคอนดา) และ opencv-2.4.10


4

ในการติดตั้งแพ็คเกจ OpenCV ด้วย conda ให้เรียกใช้:

conda install -c menpo opencv3=3.1.0

https://anaconda.org/menpo/opencv3


(นี่คือคำตอบที่ซ้ำกันที่มีอยู่ w / การแก้ไขไม่แน่ใจว่ามาก่อน) menpo repo ไม่ได้รับการสนับสนุนอีกต่อไปgithub.com/menpo/conda-opencv3 ; ตอนนี้ขอแนะนำให้ใช้ conda-forge github.com/conda-forge/opencv-feedstock
michael

3

ฉันเพิ่งติดตั้ง conda 4.7.11 ใน Windows 10 OpenCV สามารถติดตั้งได้อย่างง่ายดายใน Anaconda Navigator หลังจากเรียกใช้งานเนวิเกเตอร์ให้คลิกที่สภาพแวดล้อมบนแผงด้านซ้าย ในด้านบนหล่นลงเลือกไม่ได้ติดตั้ง จากนั้นค้นหาpy-opencvเลือกช่องทำเครื่องหมายด้านซ้ายเพื่อติดตั้ง มันจะติดตั้งแพคเกจขึ้นอยู่libopencv ฉันใช้import cv2ใน Spyder เพื่อเข้าถึง

ป้อนคำอธิบายรูปภาพที่นี่


ไม่มีอะไรเกี่ยวกับสิ่งนี้เฉพาะหรือเฉพาะกับ Anaconda Navigator
AMC

2

คำสั่งดังต่อไปนี้ทำงานให้ฉันด้วย ฉันกำลังใช้โน๊ตบุ๊ค IPython แบบฝังตัวในแอนาคอนดา

conda install -c https://conda.binstar.org/menpo opencv

2

คำสั่งที่ถูกต้องสำหรับการติดตั้ง OpenCV 3.3 รุ่นปัจจุบันใน windows Anaconda:

conda install -c conda-forge opencv

หรือ

conda install -c conda-forge/label/broken opencv

สำหรับ 3.2 ใช้สิ่งนี้:

conda install -c menpo opencv3



1

ฉันได้ลองกับคอมพิวเตอร์ Win32 Python 3.5 สองเครื่องแล้ว ตอนแรกฉันสามารถทำได้conda install opencvแต่มันไม่ทำงานหรือทำเวอร์ชั่นจาก menpp ไม่ได้ แต่สิ่งนี้ทำได้:

conda install -c https://conda.binstar.org/conda-forge opencv

1

ฉันมีขั้นตอนในrepoที่จะช่วยให้คุณติดตั้ง OpenCV อย่างถูกต้อง

หากลิงก์เสียหายให้ดูสิ่งนี้

สำหรับข้อกำหนดและข้อกำหนดเบื้องต้นทำตามคำแนะนำนี้:

คุณต้องมี WINDOWS OS เพื่อเริ่มโครงการนี้

windows 7 ถึง 10

ทำตามขั้นตอนอย่างระมัดระวัง

  1. ติดตั้ง Anaconda2 32/64 python 2

    หรือ

    ติดตั้ง Anaconda3 32/64 python 3

    มันขึ้นอยู่กับข้อมูลระบบ

    ตลอดทางคุณจะต้องตรวจสอบตัวเลือกทั้งหมดที่ไม่สนใจข้อความสีแดง

    จากนั้นรอจนกว่าการติดตั้งจะเสร็จสมบูรณ์ ...

    เปิดผู้ดูแลระบบ CMD เมื่อติดตั้งเสร็จแล้ว

    ตรวจสอบให้แน่ใจว่ามีการกำหนดค่า anaconda-python ใน CMD admin

  2. ประเภท: หลาม

    สิ่งนี้จะออกมา:

    C: \ WINDOWS \ system32> python Python 3.6.3 | Anaconda custom (64-bit) | (ค่าเริ่มต้นคือ 15 ตุลาคม 2017, 03:27:45)

    [MSC v.1900 64 บิต (AMD64)] บน win32 ประเภท "ช่วยเหลือ", "ลิขสิทธิ์", "เครดิต" หรือ "ใบอนุญาต" สำหรับข้อมูลเพิ่มเติม

  3. ถัดไปคือการติดตั้งแพคเกจ:

    numpy

    OpenCV

    PyMySQL หรือ pymysql

    ติดตั้งและนำเข้า OpenCV

    conda install -c conda-forge opencv = (เวอร์ชั่นที่เป็นตัวเลือก)

    (คลิกใช่หากมีการอัปเดต)

    ติดตั้งและนำเข้า Numpy

    pip ติดตั้งจำนวนมาก

    (คลิกใช่หากมีการอัปเดต)

    ติดตั้งและนำเข้า PyMySQL / pymysql

    pip ติดตั้ง PyMySQL หรือ pymysql

  4. เมื่อแพ็คเกจทั้งหมดได้รับการติดตั้งอย่างสมบูรณ์คุณจะต้องทำการ Reboot ใหม่

    ไปที่ผู้ดูแลระบบ CMD อีกครั้ง

    พิมพ์ "หลาม"

    นำเข้า cv2 (cv2 คือ OpenCV)

    นำเข้า Numpy หรือ Numpy

    นำเข้า pymysql

    นำเข้าระบบปฏิบัติการ

    จาก PIL จากรูปภาพ

    ถ้าทั้งหมดนั้นก็โอเค .. คุณพร้อมที่จะรันโค้ด !!

    หลังจากเสร็จสิ้นทุกขั้นตอนคุณสามารถทดสอบโค้ดใน SPYDER python ที่ฉันใช้


แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง - จากการรีวิว
Yaron

@Yaron ที่อาจจะเกิดขึ้นในอนาคต
Romelii Gaballo Albia

ดูเหมือนว่าจะมีความยาวโดยไม่จำเป็น ที่สำคัญทำไมคุณถึงใช้ pip เพื่อติดตั้งไลบรารี่อย่าง NumPy
AMC

1

แม้ว่าจะไม่ผ่าน Conda และนี่เป็นเฉพาะกับ Ubuntu วิธีที่ง่ายที่สุดในการติดตั้ง OpenCV พร้อมโมดูล contrib ทั้งหมดที่สร้างขึ้นในเช่น SIFT และ SURF คือการใช้:

pip install opencv-contrib-python

รองรับ Python2.7 + และ Python 3.4+

หากคุณเลือกที่จะไม่สร้าง contribs ไว้คุณสามารถทำได้:

pip install opencv-python

คุณต้องติดตั้งการพึ่งพาต่อไปนี้ด้านล่างก่อนที่คุณจะรันคำสั่งเหล่านั้น:

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

นี่เป็นบทแนะนำที่ดีเกี่ยวกับการตั้งค่า OpenCV บน Ubuntu: https://medium.com/@debugvn/installing-opencv-3-3-0-on-ubuntu-16-04-lts-7db376f93961


0

ฉันประสบปัญหาเดียวกัน แต่ฉันได้แก้ไขมันแล้ว นี่คือสิ่งที่ฉันทำ:

ครั้งแรกใส่ในพร้อมรับคำสั่งแล้วหาเส้นทางconda install -c https://conda.binstar.org/menpo opencv ขณะนี้คัดลอกไฟล์ทั้งหมดที่นำเสนอที่นี่เข้าAnaconda\pkgs\opencv-2.4.9.1-np19py27_0\Lib\site-packages Anaconda\Lib\site-packagesตอนนี้คุณจะสามารถใช้ OpenCV กับ Python ได้แล้ว


0

ฉันแค่อยากจะอัปเดตที่ยอดเยี่ยมคำตอบโดย Atlas7

หากคุณใช้ OpenCV 3 ให้เปลี่ยนรหัสทดสอบเป็นดังนี้

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.avi',fourcc, 20.0, (640,480))
print out.isOpened()  # True = write out video successfully. False - fail to write out video.

cap.release()
out.release()
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.