我有這個功能,獲取視頻,提取一幀並保存爲圖像,如果我使用cv2.write它完美地工作(但我無法設法使它與py2exe或Pyinstaller一起工作),所以我現在嘗試使用PIL,當我用PIL保存幀時,圖像顏色是錯誤的,通常綠色和紅色都有藍色酊劑。無法使用正確的顏色設置PIL保存創建的圖像
from PIL import Image
# import cv2
def getThumbnail(video):
cap = cv2.VideoCapture(video)
cap.set(1, 150)
ret, frame = cap.read()
im = Image.fromarray(frame)
print (im, im.format, "% dx%d" % im.size, im.mode)
im.save(video.split(".")[0] + '.mp4' +'.jpg', icc_profile=im.info.get('icc_profile'))
# cv2.imwrite(video.split(".")[0] + '.mp4.jpg', frame)
感謝您的幫助。
相同的結果,根據手冊: 格式 - 可選的格式覆蓋。如果省略,則使用的格式由文件擴展名確定。如果使用文件對象而不是文件名,則應始終使用此參數。 所以,即使我不添加「JPEG」,它仍然應該使用正確的參數作爲結尾是.jpg – Angrod
您嘗試省略第三個參數('icc_profile = ...')嗎? – MarianD
是的,我添加它,因爲這個元數據瀏覽器:http://exif.regex.info/exif.cgi說,它沒有色彩空間元數據,沒有嵌入顏色配置文件,所以我可能是問題是它錯過了數據,但它沒有任何區別...... – Angrod