cv2を試してみた。
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("nanamin1", 1)
# 画像の読み込み
img_r = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# cv2だと色の構成要素がBGRの順番だがpltはRGBの順番なので、pltで表示させるためにはcv2.COLOR_BGR2RGBを使う。
HAAR_FILE="/anaconda3/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml"
# 画像データを読み込む。このデータはopen_cvをダウンロードすると付いてくる。
cascade=cv2.CascadeClassifier(HAAR_FILE)
# 大量の画像を学習させることによって、分類器を作る。これによって、顔を検知することが可能となる。
face=cascade.detectMultiScale(img_r)
for x,y,w,h in face:
cv2.rectangle(img_r,(x, y),(x+w,y+h),(255,255,255),3)
# 顔を囲む長方形を描画する。引数は、(画像、左下座標、右上座標、色、太さ)の順番
plt.imshow(img_r)
うまくできた。
どういうわけだか、open_cvのデフォルトである、cv2.imshow関数を使っても,画像を表示することができなかった。
調べたところ、この問題はかなり多くの人が指摘しており、wait_keyを使うことによって解決した人などもいるようだが、私は解決できなかったので、matplotlibを使った。
Author And Source
この問題について(cv2を試してみた。), 我々は、より多くの情報をここで見つけました https://qiita.com/ophhdn/items/6ded011ae287a6aa1c37著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .