亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 中的 OpenCv 問題 Resutling 'int' object is not

Python 中的 OpenCv 問題 Resutling 'int' object is not

白衣染霜花 2023-04-25 17:14:18
情況: 我正在嘗試找出視頻幀之間的差異。我有 35000 個這樣的幀,它們的名稱都像 FRAMENUMBER.jpg。它們在目錄中但未排序。這是我為查找差異而編寫的代碼,但我有幾個問題。import osimport cv2import pandas as pd frame = []pic = []directory = r'/home/kjo2/video'for filename in os.listdir(directory):    if filename.endswith(".jpg"):        bob = os.path.join(filename)        pic.append(bob)    else:        continuepd.DataFrame(pic).to_csv("boo.csv")for counter in range(1,35000):    if counter == 35000:        img1 = cv2.IMREAD_GRAYSCALE("%s",pic[(counter - 1)])        img2 = cv2.IMREAD_GRAYSCALE("%s",pic[0])        diff = cv2.absdiff(img1, img2)        frame.append(diff)    else:        img1 = cv2.IMREAD_GRAYSCALE("%s",pic[(counter - 1)])        img2 = cv2.IMREAD_GRAYSCALE("%s",pic[counter])        diff = cv2.absdiff(img1, img2)        frame.append(diff)pd.DataFrame(frame).to_csv("foo.csv")錯誤:直到第二個 for 循環的所有內容都有效,但 pic 數組存在問題。由于文件未排序,因此數組也未排序。什么是按升序對這些文件進行排序的簡單方法。當我嘗試使用 opencv 模塊讀取圖像時,它總是拋出錯誤File "frame.py", line 20, in <module>     img1 = cv2.IMREAD_GRAYSCALE("%s",pic[(counter - 1)]) TypeError: 'int' object is not callable我正在嘗試遍歷文件并比較它們之間的差異。我的 for 循環有什么問題或什么是解決此問題的更好方法?我在 Linux 上使用 Python 3.6.9(默認,2020 年 7 月 17 日,12:50:27)[GCC 8.4.0]。
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

該錯誤告訴您這cv2.IMREAD_GRAYSCALE是一個數字。正確的使用方法是做類似的事情


img = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)

或者,在你的情況下,


img1 = cv2.imread(pic[counter - 1], cv2.IMREAD_GRAYSCALE)

img2 = cv2.imread(pic[counter], cv2.IMREAD_GRAYSCALE)

由于您正在比較相鄰的圖像,因此您可以通過重復使用其中一張圖像來節省一半的讀?。ú⑸晕⒑喕a)。


img1 = cv2.imread(pic[0], cv2.IMREAD_GRAYSCALE)

for i in range(1, len(pic)):

    img2 = cv2.imread(pic[i], cv2.IMREAD_GRAYSCALE)

    frame.append(cv2.absDiff(img1, img2))

    img1 = img2


查看完整回答
反對 回復 2023-04-25
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號