前提・実現したいこと
Streamlit Sharing でデプロイしたいのですがエラーが解消されません。
発生している問題・エラーメッセージ
ModuleNotFoundError: No module named 'cv2'
修正後のエラー
error: OpenCV(4.4.0) /tmp/pip-req-build-dglzv4yn/opencv/modules/highgui/src/window.cpp:645: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvDestroyAllWindows'
修正後のエラー画面
該当のソースコード
Python
1if on: 2 i=0 3 print(i) 4 print("ループ内") 5 6 cap = cv2.VideoCapture(i) 7 8 cascade = cv2.CascadeClassifier('C:/Users/81908/Documents/Python/Opencv/haarcascade_frontalface_alt.xml') 9 10 while(cap.isOpened()): 11 # フレームを取得 12 ret, frame = cap.read() 13 14 #frame = cv2.resize(frame, (1100,600)) 15 #time.sleep(1) 16 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 17 gray = cv2.equalizeHist(gray) 18 faces = cascade.detectMultiScale(gray, 19 # detector options 20 scaleFactor = 1.1, 21 minNeighbors = 5, 22 minSize = (24, 24)) 23 for (x, y, w, h) in faces: 24 #cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2) 25 img = cv2.imread(kyara, cv2.IMREAD_UNCHANGED) 26 #画像重ねる。位置調整。サイズ調整 27 size = (w*size_param,h*size_param) 28 img = cv2.resize(img , size) 29 30 x = int(x/2+x_param) 31 y = int(y/2+y_param) 32 # 画像のオーバーレイ 33 frame = overlayImage(frame , img, (x, y)) 34 # フレームを表示 35 #cv2.imshow("Flame", frame) 36 37 #opencv画像から変換 38 frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) 39 frame = Image.fromarray(frame) 40 frame = frame.convert('RGBA') 41 42 image_loc.image(frame) 43 #cv2.moveWindow('Flame', 100, 200) 44 cap.release() 45 cv2.destroyAllWindows()
試したこと
pip freeze > requirements.txt
でrequirements.txtを作成しました。
requirements.txt内には、
opencv-python==4.4.0.46
と記載されています。
補足情報(FW/ツールのバージョンなど)
ローカル環境では正常に動作しています。
あなたの回答
tips
プレビュー