Opencvで 複数の画像の入力 → cv2.puttextで編集 → 出力 をしたいです。
また、出力先は指定するつもりです。
Python
1import cv2 2import numpy as np 3import os 4import glob 5 6images = glob.glob('/Users/.../*') 7for im_n in images: 8 9 img = cv2.imread(im_n) 10 mark = np.zeros_like(img) 11 12 mark = cv2.putText(cv2.UMat(mark), 'ABCDEF', (50, 300), cv2.FONT_HERSHEY_SIMPLEX, 2.0, (255, 255, 255), 5, cv2.LINE_AA).get 13 new_img = cv2.addWeighted(img, 1, mark, 0.3, 0).get() 14 15 cv2.imwrite(im_n,new_img)
以下のようなエラーが出力されます。
Expected Ptr<cv::UMat> for argument 'img'
調べてみると、どうやら”cv2.UMat(numpy_img) で強制的に cv2.UMat 形式にする
cv2.UMat 形式からnumpyに変換するには .get() をつける”という工程で修正できると書いてあったので試してみた。
▼下記に変更してから出力
mark = cv2.putText(cv2.UMat(mark), 'ABCDEF', (50, 300), cv2.FONT_HERSHEY_SIMPLEX, 2.0, (255, 255, 255), 5, cv2.LINE_AA).get
しかし、以下のようなエラーが出力された。
UMat() missing required argument 'ranges' (pos 2)
どなたかご教示いただけると幸いでございます。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/04 05:23