moviepy音視頻剪輯VideoClip類fl_image方法image_func報錯ValueError: assignment destination is read-only解決辦法

☞ ░ 前往老猿Python博文目錄

moviepy音視頻剪輯模塊的視頻剪輯基類VideoClip的fl_image方法用於進行對剪輯幀數據進行變換。 調用語法:fl_image(self, image_func, apply_to=None)

其中參數image_func用於對幀數據進行變換,可以調用moviepy提供的相關方法,也可以自己實現,但自己實現時可能在運行時報錯:ValueError: assignment destination is read-only

這是因爲image_func參數對應的幀數組是隻讀的,不能修改,實際上get_frame(t)返回的所有幀數組都是隻讀的。幀的類型爲numpy.ndarray,而numpy.ndarray直接定義的數據是可修改的,爲什麼幀數據不能修改筆者暫時還沒弄明白(報錯ValueError: assignment destination is read-only),爲了規避該問題,將參數img數據採用如下形式的賦值語句:frame= np.array(img)就可以對新的變量frame進行修改,所有變換可以針對新變量frame進行,返回也必須是新變量frame。

更多關於VideoClip的屬性和方法請參考《moviepy音視頻剪輯:視頻剪輯基類VideoClip的屬性及方法詳解》(免費文章)或《moviepy音視頻剪輯:視頻剪輯基類VideoClip詳解》(付費專欄文章,但內容更全、案例更多)。

更多moviepy的介紹請參考《PyQt+moviepy音視頻剪輯實戰文章目錄》或《專欄:使用PyQt開發圖形界面Python應用》。

跟老猿學Python、學5G!

☞ ░ 前往老猿Python博文目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章