pythonでOpenCVを使って画像のエンコード・デコードをしたいと思っています.
エンコード・デコードはそれぞれにソースファイルがあるようにしたいと思っていて,以下のコードで動かそうとしています.
しかしデコードの方を回すとエラーが出るのですが,どうすればいいでしょうか?
##endode.py## import cv2 def imgEncode(in_img, ch, quality=5): encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), quality] result, encimg = cv2.imencode('.jpg', in_img, encode_param) return encimg img = cv2.imread('4k.jpg') img = imgEncode(img, 3, 95) cv2.imwrite('encode.jpg', img)
##decode.py## import cv2 def imgDecode(encimg, ch): decimg = cv2.imdecode(encimg, ch) return decimg img = cv2.imread('encode.jpg') img = imgDecode(img, 3) cv2.imwrite('decode.jpg', img)
回すと以下のようなエラーが出ます.
$ python decode.py Traceback (most recent call last): File "decode.py", line 9, in <module> img = imgDecode(img, 3) File "decode.py", line 5, in imgDecode decimg = cv2.imdecode(encimg, ch) cv2.error: OpenCV(4.4.0) /private/var/folders/nz/vv4_9tw56nv9k3tkvyszvwg80000gn/T/pip-req-build-b4ibzwe2/opencv/modules/imgcodecs/src/loadsave.cpp:753: error: (-215:Assertion failed) !buf.empty() in function 'imdecode_'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/06 12:38