#環境
Windows10
Python:Anaconda3
OpenCV:Latest
#OpenCVの使い方を学んでいた
今回、pythonでOpenCVの使い方を学んでいました。
その中で、顔認識をしようと、
簡単な顔認識をさせる前に、単純に画像の表示をしようと試みました。
そのついでに、外部から顔の画像データセット(*.ppm)をダウンロードしたものがあったので、
それを表示させました。
下記がそのプログラムです。
python
1import cv2 2 3img = cv2.imread('C:\Users\jun_endo\Desktop\faceData\2002\07\19\img_18.0.ppm') 4 5cv2.imshow("image", img) 6cv2.waitKey(0) 7cv2.destroyAllWindows()
結果
うまく表示されました。
#次に別の画像を表示させる
表示のさせ方を学んだので、次にべつの画像(*.png)を表示させようと、
しましたが、エラーが出てしまい、ダメでした。
###公式ドキュメントには.ppmも.pngもできると書いてある
下記が実行時のプログラムですが、imread()内のパスしか変えていません。
python
1import cv2 2 3 4img = cv2.imread('C:\Users\jun_endo\Pictures\Screenshots\顔複数.png') 5cv2.imshow("image", img) 6cv2.waitKey(0) 7cv2.destroyAllWindows()
エラー内容
Error
1 cv2.imshow("image", img) 2cv2.error: OpenCV(3.4.1) C:\Miniconda3\conda-bld\opencv-suite_1533128839831\work\modules\highgui\src\window.cpp:356: error: (-215) size.width>0 && size.height>0 in function cv::imshow
#imgの中身をprintすると"None"
matplotlibで描画しようとも試みましたが(公式ドキュメントを参照)、
以下のようにエラーが発生する。
Error
1 raise TypeError("Image data cannot be converted to float") 2TypeError: Image data cannot be converted to float
Imagedataをfloatの型に変換しろというので、
imgの中身はどうなっているのか気になり、
python
1print(img)
で表示するも、結果はnone
#本来は、顔認識のカスケード分類器をやる予定
imgの中身がnoneの時点で、うまくimread出来ていないのかも知れないと、
自分自身は考えています。
どなたか、解決策を教えてください。
この後に、OpenCVのカスケード分類器を用いて、
顔認識をするので、そちらにうまくつなげられるような、
解決方法だと非常にありがたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/18 07:44