[筆記] opencv + python3 + freetype 安裝
opencv 提供的 `putText` 方法不能放中文
為了要用 opencv 在圖片上放中文
所以我們需要 freetype 來完成這件事
像是這樣用:
```python
ft = cv2.freetype.createFreeType2()
ft.putText() # just like cv2.putText()
```
不過一般我們從 apt 或是 pip 直接安裝的 opencv 都沒有 freetype
即使是用 `opencv-contrib-python` [也一樣](https://github.com/skvark/opencv-python/issues/117)
所以我們要來自己編譯
# 環境
- Ubuntu 18.04 LTS
- Python 3.6.7
# 取得檔案 & 安裝所需套件
```bash
# install dependencies
sudo apt update
sudo apt upgrade
sudo apt install build-essential cmake pkg-config libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran python3-dev
# get file
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
```
# 編譯
```bash
cd opencv
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ~/opencv
make -j4
```
這要一陣子 我垃圾電腦編了一個半小時
# 安裝
```bash
sudo make install
```
# 成果
![Imgur](https://i.imgur.com/OspeXbj.png)
不過自己編譯的版本 VSCode 會抓不到語法提示 pylint 也會爛掉
一直跳出 `cv2 has no 'imshow' member` 之類的
所以我們要在設定裡加上
`"python.linting.pylintArgs": ["--generate-members"]`
讓 pylint 不要報錯
reference:
[Ubuntu 18.04: How to install OpenCV - PyImageSearch](https://www.pyimagesearch.com/2018/05/28/ubuntu-18-04-how-to-install-opencv/)
2019-05-03 16:05:15
留言
Last fetch: --:--
現在還沒有留言!