Cài đặt OpenCV Nhanh Nhất Trên MacOSX để Lập Trình AI - Techmaster

OpenCV là một thư viện xử lý ảnh viết bằng C/C++, có thể nói là chuẩn mực để ai mới nhập môn xử lý ảnh cũng phải học và dùng đến. OpenCV có thể chạy trên nhiều hệ điều hành Win, Mac, Linux và kiến trúc vi xử lý khác nhau: Intel, ARM...

Có 2 cách để cài đặt OpenCV lên một hệ điều hành:

  1. Tải mã nguồn về rồi tự build. Cách này chúng ta có thể bật, tắt tuỳ chọn để thêm bớt các chức năng phụ
  2. Tải bản binary về: đơn giản, dễ cho người mới bắt đầu

Trước tiên tôi trình bày cách 2, tải bản binary về.

Bước 1: Hãy cài đặt Home Brew . HomeBrew là trình quản lý, cài đặt thêm các gói phần mềm mã nguồn mở lên MacOSX tương tự như apt-get trong Ubuntu, Debian

Bước 2: Mở terminal gõ lệnh brew info opencv để biết phiên bản opencv sẽ cài lên máy $ brew info opencv opencv: stable 4.1.0 (bottled) Open source computer vision library https://opencv.org/ ... From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/opencv.rb ==> Dependencies Build: cmake ✔, pkg-config ✔ Required: eigen ✔, ffmpeg ✔, glog ✔, harfbuzz ✔, jpeg ✔, libpng ✔, libtiff ✔, numpy ✔, openexr ✔, python ✔, python@2 ✔, tbb ✔

Bước 3: Gõ lệnh brew install opencvSau bước 3 chúng ta sẽ cài đặt thư viện Python sử dụng OpenCV có tên là opencv-python. Để lập trình opencv trong Python cần chuẩn bị:

  • Python 3.7.x
  • Tạo Virtual Environment để có thể cài các gói package phiên bản khác nhau cho các dự án lập trình độc lập
  • Kích hoạt Virtual Environment

Bước 4: Cài đặt opencv-pythonNếu bạn lập trình desktop cần xem kết quả opencv xử lý thì pip install opencv-python pip install opencv-contrib-python

Nếu opencv xử lý âm thầm trên server không cần hiển thị giao diện thì cài pip install opencv-python-headless pip install opencv-contrib-python-headless

Bước 5: Kiểm tra opencv-python đã chạy ổn chưa bằng tạo một file Python chuyển đổi ảnh RGB sang màu xám import cv2 print("OpenCV version:") print(cv2.__version__) img = cv2.imread("ferrario.jpg") gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow("Over the Clouds", img) cv2.imshow("Over the Clouds - gray", gray) cv2.waitKey(0) cv2.destroyAllWindows()

Color vs Gray

Nhược điểm của cách cài binary biên dịch sẵn là nó không đóng gói sẵn một số thuật toán thương mại hoá. Thử chạy đoạn lệnh Python này, bạn sẽ thấy lỗi This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library... import cv2 import matplotlib.pyplot as plt img_fname = 'ferrario1.jpg' # assuming this is where you # downloaded the above image # load image img = cv2.imread(img_fname) if img is None: raise ValueError('{} is not a file'.format(img_fname)) # convert to grayscale img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # instantiate SURF surf = cv2.xfeatures2d.SURF_create(7000) # compute keypoints keypoints = surf.detect(img_gray, None) # plot keypoints img_keypoints = cv2.drawKeypoints(img, keypoints, img, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) img_keypoints_rgb = cv2.cvtColor(img_keypoints, cv2.COLOR_BGR2RGB) plt.imshow(img_keypoints_rgb) plt.show()

Từ khóa » Cài Thư Viện Cv2