1
我使用puthon 2.7,windows 7和opencv 2.4.6。我嘗試運行下面的代碼:圖像解碼時出錯(imdecode)
https://github.com/kyatou/python-opencv_tutorial/blob/master/08_image_encode_decode.py
#import opencv library
import cv2
import sys
import numpy
argvs=sys.argv
if (len(argvs) != 2):
print 'Usage: # python %s imagefilename' % argvs[0]
quit()
imagefilename = argvs[1]
try:
img=cv2.imread(imagefilename, 1)
except:
print 'faild to load %s' % imagefilename
quit()
#encode to jpeg format
#encode param image quality 0 to 100. default:95
#if you want to shrink data size, choose low image quality.
encode_param=[int(cv2.IMWRITE_JPEG_QUALITY),90]
result,encimg=cv2.imencode('.jpg',img,encode_param)
if False==result:
print 'could not encode image!'
quit()
#decode from jpeg format
decimg=cv2.imdecode(encimg,1)
cv2.imshow('Source Image',img)
cv2.imshow('Decoded image',decimg)
cv2.waitKey(0)
cv2.destroyAllWindows()
我不斷收到以下錯誤:
encode_param=[int(cv2.IMWRITE_JPEG_QUALITY), 90]
AttributeError: 'module' object has no attribute 'IMWRITE_JPEG_QUALITY'
我已經嘗試了很多事情:重新安裝OpenCV的,轉換CV2到CV代碼和搜索不同的論壇,但我不斷收到此錯誤。我錯過了什麼嗎?有沒有人可以運行此代碼而不會出現錯誤?
BTW:其他OpenCV的代碼(從攝像頭拍照)運行沒有問題....
此刻,我將圖像保存到一個臨時JPG文件。使用imencode函數我想在內存中創建jpg文件。
在此先感謝和問候。
感謝您的解決方案。所以第一個參數是一個枚舉索引?我直接得到下一個錯誤:result,encimg = cv2.imencode('。jpg',img,[1,90])TypeError:'bool'對象不可迭代 –