Hướng dẫn an integer is required got type tuple python - một số nguyên được yêu cầu có kiểu tuple python

Tôi đang cố gắng thiết lập máy dò của mình cho một dự án nhận dạng khuôn mặt hoặc một chương trình, nhưng tôi tiếp tục gặp lỗi này:

TypeError: an integer is required (got type tuple)

Ngoài ra tôi đã thử thay đổi:

cv2.putText(img, str(id), (x, y + h), font, 255)

đến

cv2.putText(img, name, (x, y + h), font, 2, (0, 255, 0), 2)

Đây là mã của tôi:

import cv2
import numpy as np

faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cam=cv2.VideoCapture(0)

rec = cv2.face.LBPHFaceRecognizer_create()
rec.read("trainer/training_data.yml")
id=0
font=(cv2.FONT_HERSHEY_SIMPLEX,1,1,0,1)

while(True):
    ret,img=cam.read()
    gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    faces=faceDetect.detectMultiScale(gray,1.3,5)
    for(x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
        id,conf=rec.predict(gray[y:y+h,x:x+w])
        cv2.putText(img,str(id),(x,y+h),font,255)
    cv2.imshow("FACEDETECTIONPT1",img)
    if(cv2.waitKey(1)==ord('q')):
        break
cam.release()
cv2.destroyAllWindows

Thông tin hệ thống (phiên bản)
  • Opencv => 4.0.1.25
  • Hệ điều hành / Nền tảng => Windows 64 bit
  • Trình biên dịch => msc v.1900 64 bit (AMD64)
Miêu tả cụ thể

Traceback (most recent call last):
  File "thresh.py", line 24, in 
    cropped_image = region_of_interest(thresh_img)
  File "thresh.py", line 13, in region_of_interest
    cv2.rectangle(mask, (0, req_height), (image.shape[1], height), (0, 255, 0), 5, 2)
TypeError: an integer is required (got type tuple)

Các bước để sinh sản

Lỗi phát sinh trong hàm hình chữ nhật ().

Đây là kịch bản nhỏ mà tôi đang cố gắng sử dụng nó.

import numpy as np
import cv2

def thresh(image):
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    _, th = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
    return th

def region_of_interest(image):
    height = image.shape[0]
    mask = np.zeros_like(image, np.uint8)
    req_height = 0.4*height
    cv2.rectangle(mask, (0, req_height), (image.shape[1], height), (0, 255, 0), 5, 2)
    masked_image = cv2.bitwise_and(image, mask)
    f_image = cv2.bitwise_not(masked_image)

    return f_image

image = cv2.imread('image2.jpg')

copy_img = np.copy(image)
thresh_img = thresh(copy_img)
cropped_image = region_of_interest(thresh_img)

cv2.imshow('image', cropped_image)
cv2.waitKey(0)

Lỗi xảy ra trên dòng này:-

 cv2.rectangle(mask, (0, req_height), (image.shape[1], height), (0, 255, 0), 5, 2)

Tôi đã thử chuyển trong một đối số sau thuộc tính màu. Tôi cũng đã thử đặt tên các thuộc tính i.e:----> color = (0,255,0), độ dày = 5, v.v.
I also have tried naming the attributes i.e:-
---> color=(0,255,0), thickness=5 etc.

Hãy cho tôi biết nếu tôi đã bỏ lỡ bất kỳ thông tin nào nên được cung cấp.

wenwu@amax: ~/chenyao/tuyệt vời-semantic-phân đoạn-pytorch-master/script $ python troed.py-model fcn32s-backbone vgg16-dataset pascal_voc--lr 0.0001 : 06: 48,524 Semantic_Smentation Thông tin: Sử dụng 1 GPUS 2021-09-08 18: 06: 48,524 Semantic_Smentation Thông tin: không gian tên (AUX = false , dataset = 'pascal_voc', device = 'cuda', phân phối = false, epochs = 50, jpu = false, local_rank = 0, log_dir = '.. = 'fcn32s', Momentum = 0.9, no_cuda = false, num_gpus = 1, resume = none, save_dir = ' 1, warmup_factor = 0.3333333333333333, warmup_iters = 0, warmup_method = 'tuyến tính', weight_decay = 0.0001, công nhân = 4) Tìm thấy 1464 hình ảnh trong thư mục/data1/chenyao/data /VOC2012 2021-09-08 18: 06: 53.200 Semantic_Smentation Thông tin: Bắt đầu đào tạo, Tổng số Epochs: 50 = Tổng số lặp 18300 Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "Train.py", dòng 323, trong Trainer.Train () File "Train.py", Dòng 210, trong Train for Lite các mục tiêu, _) trong liệt kê (self.train_loader): file "/home/wenwu/anaconda3/envs/detron/lib/python3.7/site-packages Dữ liệu tiếp theo = self._next_data () tệp "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages _Process_Data (dữ liệu) Tệp "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/dataloader.py", dòng 881, trong _process /home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/_utils.py ", dòng 394, trong reraise tăng self.exc_type (MSG) Traceback gốc (cuộc gọi gần đây nhất cuối cùng): File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/u TILS/data/_utils/worker.py ", dòng 178, trong _worker_loop data = fetcher.fetch (index) file" /home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-package /data/_utils/fetch.py ​​", dòng 44, trong tìm nạp dữ liệu = [self.dataset [idx] cho idx trong file có thể_batched_index] Các gói/ngọn đuốc/utils/data/_utils/fetch.py ​​", dòng 44, trong data = [self.dataset [idx] cho idx trong tệp có thể Master/Core/Data/Dataloader/pascal_voc.py ", dòng 82, trong tệp getitem img, mặt nạ = self._sync_transform (IMG, mặt nạ) /data/dataloader/segbase.py ", dòng 66, trong _sync_transform mặt nạ = ImageOps.Expand (mặt nạ, biên giới = (0, 0, padw, padh), fill = 0) Tệp"/home/wenwu/anaconda3 Electron/lib/python3.7/trang web trang web/pil/imageops.py ", dòng 403, trong phần mở rộng. Tệp "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-f : một số nguyên được yêu cầu (có loại tuple)
2021-09-08 18:06:48,524 semantic_segmentation INFO: Using 1 GPUs
2021-09-08 18:06:48,524 semantic_segmentation INFO: Namespace(aux=False, aux_weight=0.4, backbone='vgg16', base_size=520, batch_size=4, crop_size=480, dataset='pascal_voc', device='cuda', distributed=False, epochs=50, jpu=False, local_rank=0, log_dir='../runs/logs/', log_iter=10, lr=0.0001, model='fcn32s', momentum=0.9, no_cuda=False, num_gpus=1, resume=None, save_dir='~/.torch/models', save_epoch=10, skip_val=False, start_epoch=0, use_ohem=False, val_epoch=1, warmup_factor=0.3333333333333333, warmup_iters=0, warmup_method='linear', weight_decay=0.0001, workers=4)
Found 1464 images in the folder /data1/chenyao/datasets/VOC2012
Found 1449 images in the folder /data1/chenyao/datasets/VOC2012
2021-09-08 18:06:53,200 semantic_segmentation INFO: Start training, Total Epochs: 50 = Total Iterations 18300
Traceback (most recent call last):
File "train.py", line 323, in
trainer.train()
File "train.py", line 210, in train
for iteration, (images, targets, _) in enumerate(self.train_loader):
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 856, in _next_data
return self._process_data(data)
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data
data.reraise()
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise
raise self.exc_type(msg)
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
data = fetcher.fetch(index)
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/wenwu/chenyao/awesome-semantic-segmentation-pytorch-master/core/data/dataloader/pascal_voc.py", line 82, in getitem
img, mask = self._sync_transform(img, mask)
File "/home/wenwu/chenyao/awesome-semantic-segmentation-pytorch-master/core/data/dataloader/segbase.py", line 66, in _sync_transform
mask = ImageOps.expand(mask, border=(0, 0, padw, padh), fill=0)
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/PIL/ImageOps.py", line 403, in expand
draw.rectangle((0, 0, width - 1, height - 1), outline=color, width=border)
File "/home/wenwu/anaconda3/envs/detectron/lib/python3.7/site-packages/PIL/ImageDraw.py", line 259, in rectangle
self.draw.draw_rectangle(xy, ink, 0, width)
TypeError: an integer is required (got type tuple)