Cài đặt OpenCV nhanh nhất trên MacOSX để lập trình AI. 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…
Xem thêm:
- YOLO bản fork ngon hơn bản chính chủ, hỗ trợ OpenCV 4.x
- Nhận dạng đối tượng trong ảnh bằng thư viện YOLO 3
Có 2 cách để cài đặt OpenCV lên một hệ điều hành:
- 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ụ
- 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
1 2 3 4 5 6 7 8 9 10 |
$ 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 opencv
Sau 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-python
Nếu bạn lập trình desktop cần xem kết quả opencv xử lý thì
1 2 |
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
1 2 |
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
1 2 3 4 5 6 7 8 9 10 11 |
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() |

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…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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() |
Nguồn: techmaster.vn
Bình luận mới nhất