I am currently working on a Blackjack card detection project but have been grinded to a halt by the IndexError in the title. I say a few other threads with a similar problem but code that looked drastically different from mine so I figured it would be worth asking for myself.
I am unsure how to go about fixing this error, so any advice or pointers would be greatly appreciated. Below is the Traceback and code.
IndexError Traceback (most recent call last)
File ../Blackjack/src/vision.py:155
153 deck = shuffle_deck(deck)
154 print('Shuffled: ', len(deck))
--> 155 player_hand, dealer_hand = dealing(deck)
157 display_hand(dealer_hand)
158 display_hand(player_hand)
File ../Blackjack/src/vision.py:131
129 if i == 0 or i % 2 == 0:
130 deal_player_card(deck)
--> 131 display_hand(player_hand)
132 for card in player_hand:
133 detect_player_card(card)
File ../Blackjack/src/vision.py:125
122 for index, image in enumerate(hand):
123 # Display each image with a unique window name
124 cv2.imshow(f"Card {index}", image)
--> 125 detect_player_card(image)
File ../Blackjack/src/vision.py:51
48 detected_player_cards = []
50 for result in results:
...
181 tensor([1, 2, 3])
182 """
--> 183 return self.__class__(self.data[idx], self.orig_shape)
IndexError: too many indices for tensor of dimension 2
detect card in player hand
def detect_player_card(img):
results = model(img)
detected_player_cards = []
for result in results:
boxes = result['boxes']
scores = result['scores']
labels = result['labels']
for box, score, label in zip(boxes, scores, labels):
detected_player_cards.append({ 'box': box.tolist(),
'score': score.item(),
'label': label.item()})
return detected_player_cards