Conda cài đặt opencv-contrib-python
Bánh xe PyPI OpenCV không chính thức hoạt động cho Linux, Mac và Windows. Điều quan trọng là, các phương pháp Show
Dành cho CÁNH TAY/Raspberry Pi
cũng hoạt động cho một số nền tảng ARM như Raspberry Pi. Ghi chú. Nếu bạn cài đặt trên Raspberry Pi ARMv7 (hoặc ARMv8 với HĐH 32 bit), bạn sẽ cần phải
lỗi sẽ dẫn đến Ví dụ: thiết lập thuật toán Python OpenCV trên Raspberry Pi 4, sau đó lắp cùng một thẻ SD vào Raspberry Pi Zero/Zero W sẽ yêu cầu cài đặt lại OpenCV. OpenCV đơn giản và nhanh chóng để cài đặt trên Raspberry Pi thông qua 0 như được mô tả ở trênĐối với chức năng mở rộng mới nhất chưa được tích hợp vào gói lõi, OpenCV bao gồm các mô-đun được đóng góp bổ sung có thể được lấy bằng cách
Nếu lỗi 2, hãy chắc chắn rằng nó đang sử dụng bản cài đặt Python mong muốn. Người ta có thể phải chỉ định thủ công đường dẫn cho lệnh 0 e. g
Chúng tôi đã tạo một số tập lệnh thử nghiệm để thử cài đặt OpenCV. Biên dịch và cài đặt OpenCV cho Python. Tự biên dịch cho phép tùy chỉnh và tối ưu OpenCV cho máy tính của bạn (e. g. sử dụng GPU, TBB, OpenCL, v.v. ) Các phương pháp 1 và 2 cho OpenCV tiếp tục bị BỎ QUA cho việc đọc và hiển thị video/hình ảnh. Sử dụng pip install ở trên để thay thế Đây là hướng dẫn từng bước để xây dựng OpenCV với các Mô-đun bổ sung cho Python (Anaconda) cho Windows mà không gặp lỗi. Riêng tôi sẽ sử dụng module freetype trong OpenCV-Contrib enable-freetype-in-opencv python3-opencv-freetype-example opencv-extra-modules-windows freetype-harfbuzz-windows build-opencv-freetype-windows thuộc tínherror-cv2-has-no-attribute conda-install-opencv-plus đóng góp importerror-opencv-loader missing-configuration-file cv2-not-found-python cmake-conda-python importerror-dll-load-failed vcpkg-install-example Bỏ qua điều này nếu ở trên đã hoạt động hoàn hảo. Nếu muốn, bạn có thể cài đặt OpenCV thông qua conda. Mở một "dấu nhắc Anaconda" và gõ
Đối với Linux, bạn có thể cài đặt opencv cho hệ điều hành Python của mình bằng cách nhập
Nhưng tôi thực sự khuyên bạn cũng nên tạo một virtualenv
kiểm tra
sổ ghi chép của sao MộcMáy tính xách tay Jupiter là một môi trường phát triển mã đơn giản, phù hợp để tạo mẫu và thử nghiệm nhanh. Tại dấu nhắc Anconda, gõ Bên trong jupyter notebook, bạn có thể chọn từng block làm code block, markdown block và một số loại khác. Nhưng chủ yếu chúng ta chỉ cần hai loại đầu tiên. Đảm bảo rằng một khối được chọn làm khối mã, sau đó nhập "1+1" và nhấn shift-enter. Hy vọng bạn sẽ nhận được 2 Python không phải là một ngôn ngữ khó nhưng nếu bạn hoàn toàn không có kiến thức cơ bản về lập trình, bạn sẽ gặp khó khăn khi theo học khóa học này. Nếu bạn có kiến thức cơ bản về các ngôn ngữ khác (chẳng hạn như C/C, Java/Javascript, Matlab, Lua, Go, Perl), bạn sẽ không gặp quá nhiều khó khăn khi làm quen với Python. Bạn có thể xem hướng dẫn siêu ngắn này của Justin Johnson. Và bạn không cần phải lo lắng quá nhiều về phần “numpy” vào lúc này, có lẽ bạn không cần quá nhiều tính năng numpy trong lớp này. Để tham khảo biểu mẫu “sách”, bạn có thể xem cái này. Nhưng bạn không cần phải đọc hết cuốn sách. 3 chap đầu là quá đủ. Nếu bạn gặp bất kỳ câu hỏi nào, xin vui lòng chia sẻ nó trên quảng trường Kiểm tra phần xây dựng thủ công nếu bạn muốn biên dịch các liên kết từ nguồn để kích hoạt các mô-đun bổ sung như CUDA Cài đặt và sử dụng
Các câu hỏi thường gặpQ. Tôi có cần cài đặt riêng OpenCV không? A. Không, các gói này là các gói nhị phân bánh xe đặc biệt và chúng đã chứa các tệp nhị phân OpenCV được tạo tĩnh Q. Cài đặt Pip không thành công với 07?Kể từ phiên bản 4 của 08. 3. 0. *, Bánh xe 09 đã được thay thế bằng bánh xe 00. Nếu pip của bạn quá cũ, nó sẽ cố gắng sử dụng phân phối nguồn mới được giới thiệu trong phần 4. 3. 0. 38 tự build OpenCV vì không biết cài đặt bánh xe 00. Tuy nhiên, bản dựng nguồn cũng sẽ thất bại do 0 quá cũ vì nó không hiểu các phụ thuộc bản dựng trong 03. Để sử dụng bánh xe dựng sẵn 00 mới (hoặc để tạo từ nguồn), phiên bản 0 của bạn phải >= 19. 3. Vui lòng nâng cấp 0 với 7Q. Nhập không thành công trên Windows. 08?A. Nếu quá trình nhập không thành công trên Windows, hãy đảm bảo rằng bạn đã cài đặt Visual C++ redistributable 2015. Nếu bạn đang sử dụng phiên bản Windows cũ hơn Windows 10 và các bản cập nhật hệ thống mới nhất chưa được cài đặt, Universal C Runtime cũng có thể được yêu cầu Các phiên bản Windows N và KN không bao gồm Gói tính năng phương tiện mà OpenCV yêu cầu. Nếu bạn đang sử dụng phiên bản Windows N hoặc KN, vui lòng cài đặt thêm Windows Media Feature Pack Nếu bạn có Windows Server 2012+, các tệp DLL phương tiện cũng có thể bị thiếu; . Lưu ý, một số bài đăng khuyên cài đặt "Windows Server Essentials Media Pack", nhưng bài đăng này yêu cầu vai trò "Trải nghiệm Windows Server Essentials" và vai trò này sẽ ảnh hưởng sâu sắc đến cấu hình Windows Server của bạn (bằng cách thực thi tích hợp thư mục hoạt động, v.v. ); Nếu cách trên không hiệu quả, hãy kiểm tra xem bạn có đang sử dụng Anaconda không. Các phiên bản Anaconda cũ có một lỗi gây ra lỗi, hãy xem sự cố này để biết cách khắc phục thủ công Nếu bạn vẫn gặp phải lỗi sau khi đã kiểm tra tất cả các giải pháp trước đó, hãy tải xuống Phần phụ thuộc và mở tệp 09 (thường nằm ở vị trí 70) cùng với tệp đó để gỡ lỗi các sự cố DLL bị thiếuQ. Tôi có một số lỗi nhập khẩu khác? A. Đảm bảo rằng bạn đã gỡ bỏ các cài đặt thủ công cũ của các liên kết OpenCV Python (cv2. như vậy hoặc cv2. pyd trong gói trang web) Q. Hàm foo() hoặc method bar() trả về kết quả sai, đưa ra ngoại lệ hoặc trình thông dịch gặp sự cố. Tôi nên làm gì? A. Kho lưu trữ chỉ chứa các tập lệnh xây dựng gói OpenCV-Python chứ không chứa chính OpenCV. Các ràng buộc Python cho OpenCV được phát triển trong kho lưu trữ OpenCV chính thức và đó là nơi tốt nhất để báo cáo sự cố. Ngoài ra, vui lòng kiểm tra {OpenCV wiki](https. //github. com/opencv/opencv/wiki) và diễn đàn OpenCV chính thức trước khi gửi các lỗi mới Q. Tại sao các gói không bao gồm các thuật toán không miễn phí? A. Các thuật toán không miễn phí như SURF không được bao gồm trong các gói này vì chúng đã được cấp bằng sáng chế/không miễn phí và do đó không thể phân phối dưới dạng các tệp nhị phân được tạo. Lưu ý rằng SIFT được bao gồm trong các bản dựng do hết hạn bằng sáng chế kể từ OpenCV phiên bản 4. 3. 0 và 3. 4. 10. Xem vấn đề này để biết thêm thông tin. https. //github. com/skvark/opencv-python/issues/126 Q. Tại sao gói và nhập khác nhau (opencv-python so với. cv2)? A. Người dùng dễ hiểu hơn về 08 so với 1 và giúp tìm gói dễ dàng hơn với các công cụ tìm kiếm. 1 (giao diện cũ trong các phiên bản OpenCV cũ được đặt tên là 74) là tên mà các nhà phát triển OpenCV đã chọn khi họ tạo các trình tạo liên kết. Tên này được giữ làm tên nhập để phù hợp với các loại hướng dẫn khác nhau trên internet. Việc thay đổi tên hoặc hành vi nhập cũng sẽ gây nhầm lẫn cho những người dùng có kinh nghiệm đã quen với 04Tài liệu cho opencv-pythonMục đích của kho lưu trữ này là cung cấp các phương tiện để đóng gói từng bản phát hành OpenCV mới cho các phiên bản và nền tảng Python được sử dụng nhiều nhất Quy trình xây dựng CIDự án được cấu trúc giống như một gói Python bình thường với tệp 76 tiêu chuẩn. Quá trình xây dựng cho một mục duy nhất trong ma trận xây dựng như sau (xem ví dụ về tệp 77)
Các bước 1--4 được xử lý bởi 78Bản dựng có thể được tùy chỉnh với các biến môi trường. Ngoài bất kỳ biến nào mà bản dựng của OpenCV chấp nhận, chúng tôi nhận ra
Xem phần tiếp theo để biết thêm thông tin về các bản dựng thủ công bên ngoài môi trường CI bản dựng thủ côngNếu một số phụ thuộc không được bật trong bánh xe dựng sẵn, bạn cũng có thể chạy bản dựng cục bộ để tạo bánh xe tùy chỉnh
Gỡ lỗi bản dựng theo cách thủ côngĐể xây dựng 08 trong một bản dựng gỡ lỗi chưa được tối ưu hóa, bạn cần bỏ qua quy trình bình thường một chút
Nếu bạn muốn bản dựng tạo ra tất cả các lệnh của trình biên dịch, thì tổ hợp cờ và biến môi trường sau đây đã được thử nghiệm để hoạt động trên Linux
Xem vấn đề này để thảo luận thêm. https. //github. com/opencv/opencv-python/issues/424 phân phối nguồnKể từ OpenCV phiên bản 4. 3. 0, các bản phân phối nguồn cũng được cung cấp trong PyPI. Điều này có nghĩa là nếu hệ thống của bạn không tương thích với bất kỳ bánh xe nào trong PyPI, thì 0 sẽ cố gắng xây dựng OpenCV từ các nguồn. Nếu bạn cần phiên bản OpenCV không có sẵn trong PyPI dưới dạng phân phối nguồn, vui lòng làm theo hướng dẫn xây dựng thủ công ở trên thay vì hướng dẫn nàyBạn cũng có thể buộc 0 xây dựng các bánh xe từ nguồn phân phối. Vài ví dụ
Nếu bạn cần đóng góp mô-đun hoặc phiên bản không đầu, chỉ cần thay đổi tên gói (không cần bước 4 trong phần trước). Tuy nhiên, bất kỳ cờ CMake bổ sung nào cũng có thể được cung cấp thông qua các biến môi trường như được mô tả trong bước 3 của phần xây dựng thủ công. Nếu không được cung cấp, tập lệnh CMake của OpenCV sẽ cố gắng tìm và kích hoạt bất kỳ phụ thuộc phù hợp nào. Các bản phân phối không đầu có các cờ CMake được mã hóa cứng để vô hiệu hóa tất cả các phụ thuộc GUI có thể có Trên các hệ thống chậm như Raspberry Pi, quá trình xây dựng đầy đủ có thể mất vài giờ. Trên Ryzen 7 3700X 8 nhân, quá trình xây dựng mất khoảng 6 phút cấp phépGói opencv-python (tập lệnh trong kho lưu trữ này) có sẵn theo giấy phép MIT Bản thân OpenCV có sẵn theo giấy phép Apache 2 Giấy phép gói của bên thứ ba có tại LICENSE-3RD-PARTY. txt Tất cả các bánh xe đều có FFmpeg được cấp phép theo LGPLv2. 1 Bánh xe Linux không đầu được vận chuyển với Qt 5 được cấp phép theo LGPLv3 Các gói cũng bao gồm các tệp nhị phân khác. Danh sách đầy đủ các giấy phép có thể được tìm thấy từ GIẤY PHÉP-3RD-BÊN. txt lập phiên bảnTập lệnh 18 tìm kiếm thông tin phiên bản từ các nguồn OpenCV và cũng thêm số sửa đổi cụ thể cho kho lưu trữ này vào chuỗi phiên bản. Nó lưu thông tin phiên bản vào tệp 19 bên dưới 1 ngoài một số cờ khácphát hànhMột bản phát hành được tạo và tải lên PyPI khi một thẻ mới được đẩy lên nhánh chính. Các thẻ này phân biệt các gói (repo này có thể có sửa đổi nhưng phiên bản OpenCV vẫn giữ nguyên) và nên được tăng dần theo trình tự. Trong thực tế, số phiên bản phát hành trông như thế này
Nhánh chính tuân theo các bản phát hành nhánh chính của OpenCV. 3. 4 nhánh sau OpenCV 3. 4 bản phát hành sửa lỗi xây dựng phát triểnMọi cam kết với nhánh chính của repo này sẽ được xây dựng. Các tạo phẩm xây dựng có thể sử dụng số nhận dạng phiên bản cục bộ
Những hiện vật này không thể và sẽ không được tải lên PyPI Nhiều bánh xe LinuxBánh xe Linux được xây dựng bằng manylinux2014. Các bánh xe này sẽ hoạt động tốt đối với hầu hết các bản phân phối (sử dụng thư viện chuẩn GNU C) vì chúng được xây dựng dựa trên phiên bản cũ của glibc Các hình ảnh 00 mặc định đã được mở rộng với một số phụ thuộc OpenCV. Xem thư mục Docker để biết thêm thông tinCác phiên bản Python được hỗ trợTrăn 3. x được cung cấp cho các phiên bản Python được hỗ trợ chính thức (không có trong EOL) Tương thích ngượcBắt đầu từ 4. 2. 0 và 3. 4. 9 bản dựng môi trường xây dựng macOS Travis đã được cập nhật lên XCode 9. 4. Sự thay đổi đã bỏ hỗ trợ một cách hiệu quả cho những phiên bản cũ hơn 10. 13 phiên bản macOS Bắt đầu từ 4. 3. 0 và 3. 4. 10 bản dựng Môi trường xây dựng Linux đã được cập nhật từ 09 lên 00. Điều này đã bỏ hỗ trợ cho các bản phân phối Linux cũ
Đóng góp OpenCV có cần thiết không?OpenCV contrib là một mô-đun chuyên dụng có trong ngôn ngữ lập trình Python, đặc biệt cần thiết để hệ thống chạy các mô tả tính năng SURF cùng với mô-đun OpenCV có trong thư viện mã nguồn mở .
Làm cách nào tôi có thể cài đặt OpenCV trong Anaconda?Bước 1. - Tìm kiếm Anaconda trên thanh tác vụ của bạn và chọn ANACONDA NAVIGATOR. Bước 2. - Bây giờ bạn sẽ thấy một menu với nhiều tùy chọn khác nhau như máy tính xách tay Jupiter, Spyder, v.v. Đây là môi trường Anaconda. Bước 3. - Chọn Spyder vì nó là IDE của Anaconda cho python và thư viện OpenCV sẽ chỉ hoạt động trong đó
Tôi có thể cài đặt OpenCV bằng pip không?OpenCV có thể được cài đặt bằng pip .
Lệnh cài đặt OpenCV là gì? cài đặt pip --no-binary. tất cả các. opencv-python . |