我創建了一個名為 tools_list 的串列。該串列包含工具目錄中所有現有的 .png 照片。我遇到的問題是關于 images_list.In images_list 我想存盤所有影像并同時將 cv.imread 應用于它們。當我嘗試運行時,我得到了
- 檢查檔案路徑/完整性
- TypeError: int() 引數必須是字串、類似位元組的物件或數字,而不是“NoneType”
mp_hands = mp.solutions.hands
tools_list = [elem for elem in os.listdir("tools")]
print(tools_list)
images_list = [cv.imread(img) for img in tools_list]
print(images_list)
mode = "selection mode"
brush_thickness = 15
mp_drawing = mp.solutions.drawing_utils
mp_hands = mp.solutions.hands
xp,yp = 0,0
capture = cv.VideoCapture(0)
black = (0,0,0)
white = (255,255,255)
blue = (255,0,0)
red = (0,0,255)
green = (0,255,0)
yellow = (0,255,255)
brown = (0, 75, 150)
image_number = 0
color = black
image_canvas = np.zeros((720, 1280, 3), np.uint8)
with mp_hands.Hands(min_detection_confidence = 0.8, min_tracking_confidence = 0.5, max_num_hands = 2) as hands:
while True:
flag, frame = capture.read()
frame = cv.resize(frame, (1280, 720))
frame[0:125, 0:1280] = images_list[image_number]
uj5u.com熱心網友回復:
根據您的錯誤判斷,您的檔案結構如下所示:
toolsimage1.pngimage2.png
- `the_script.py
該方法os.listdir('tools')僅回傳tools. 例如
image1.pngimage2.png
它不會回傳tools\image1.png您需要在cv2.imread()方法中讀取的內容。沒有正確的路徑, 因此cv2.imread()回傳None錯誤TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType
您需要更換線路
[cv.imread(img) for img in tools_list]
和
[cv.imread(os.path.join("tools",img)) for img in tools_list]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/519704.html
