OpenCV - <class 'cv2.CascadeClassifier'> returned a result with an error set

· ·

tl;dr 🔗

cv2.CascadeClassifier で haar cascade ファイルを読み込んだ際に <class 'cv2.CascadeClassifier'> returned a result with an error set が出た場合はOpenCV の Releaseの利用バージョン Source ファイルから xml ファイルをダウンロードすれば良い。

図解! Python のツボとコツがゼッタイにわかる本 プログラミング実践編 🔗

エンジニアではないので時々しか Python を触っていないので簡単な本として「図解! Python のツボとコツがゼッタイにわかる本 プログラミング実践編」をペラペラとめくりました。

特に OpenCV は触れたことがなかったので超入門編という意味合いも込めて。本見ればサクサク分かるレベルではありますが全く見ずに書けと言われると全然書けないレベルではあります。

今回は新しく jupyter lab 環境をサクッと作って、その中でやりましたが、本書の説明のように同じ cell を何度も書き換えながらやるという使い方で jupyter 使うのもどうかな?とか思いながら、自分は最終的に py ファイルにまとめないのであれば…ということで、どんどん cell を分けながら自由に書いていました。

docker-compose ファイルはこれ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
version: "3"
services:
  notebook:
    image: jupyter/datascience-notebook
    ports:
      - "8888:8888"
    environment:
      - JUPYTER_ENABLE_LAB=yes
    volumes:
      - ./work:/home/jovyan/work
    command: start-notebook.sh --NotebookApp.token=''

docker 環境で作業をしていて躓いたのが、タイトルにもある haar cascade ファイル haarcascade_frontalface_default.xml 。最初 data フォルダがどこにあるかパッと分からなかったので、github のレポジトリから持ってきたのですがエラー SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set を吐いたため、少し検索して、他のブログを読んでいたらOpenCV の Releaseの利用バージョン Source ファイルから持ってこいという話でした。

参考 🔗

Python 備忘録 - Python で画像認識 ① 顔認識

comments powered by Disqus