#はじめに
C++で画像処理をやっているとグラフ化したいときにMatplotlibを利用できたら便利なのではと思い、Python環境でOpenCVを使ってみようと思い立ったのがきっかけです、しかし手順や参考にしたサイトが多すぎることからセットアップが完了し、実際の画像処理を行うまでにかなりの時間を要してしまったのでメモ代わりに残しておきます。
#まず開発環境の設定に戸惑ってしまった
Python自体は全く触れてこなかったので、そもそもAnacondaなりVSCodeなりのインストールや起動を試しても全くうまく行かない!となりてんやわんや。
最終自分の環境ではVSCodeもJupyter Notebookも使わずシンプルにPython3.7、Anaconda、OpenCV4.2.0のみを使うという結論に至った。
#基本的なセットアップ
様々な方法を試しましたが、最終的にこちらの記事の方のやり方を参考にすることで自分は動きました。
https://qiita.com/FukuharaYohei/items/5d49938ffd33d198f0c0
#具体的な困ったポイント
PATHは合っているはずなのに画像処理を行ってくれない
これが一番時間がかかったところで、下記のコードのように画像処理を行おうと実行するも結果は「NONE」が帰ってくる。
対象画像の名前がfruits.jpgです。
import cv2
path = "fruits.jpg"
img = cv2.imread(path)
print(img)
他の方やサイトを参考にするも"test.py"と同一のディレクトリに入れているはずなのにこの書き方では画像を処理してくれません。
#解決策
どう考えてもPATHが間違っていると確信していたので最新のPython-OpenCVでは書き方が違うのかもしれないと思い、試行錯誤した結果、以下の書き方で無事画像処理は完了しました。
import cv2
#PATHの先頭に ./ をつけただけ
path = "./fruits.jpg"
img = cv2.imread(path)
print(img)
これ、意外と載ってるサイトが無くて、かなり解決するのに時間がかかりました。
正直OpenCVの公式サイトにもしかしたら載っているのかもしれませんがそこを調べるというのは骨が折れそうだったので全く見ていません。
C++のときは先程の文法で行けていたのでおそらく原因はPythonの記述方法の問題かなと思ったり(正直わからないのでわかる方いたらコメントお願いします。)
#なぜこんな記事を残したの?
自分みたいな全くの初心者の方が最初から失敗しないために参考にしてもらいたいと考えたからです。
載せているURLを参考にしながら、この記述方法に気をつけていればうまくいくはずです!