0

Im so sorry for this, but I have litteraly no idea what is wrong, so I'm just gonna post all of it, its not very long, but I'm using some functions I have never used before, so I have no idea about what is wrong, it seems to be a problem with numpy hstack, but I literally have no idea. I know this is much but can someone please look over my code?

import numpy as np
import argparse
import cv2
import sys



image = cv2.imread("tetris.png")
virtual_board = cv2.imread("tetris.png")

boundaries = (104, 120, 164)
boundaries1 = (106, 122, 166)

for (boundaries) in boundaries:
    lower = np.array(boundaries, dtype = "uint8")
    upper = np.array(boundaries1, dtype = "uint8")

    board_mask = cv2.inRange(image, lower, upper)
    output = cv2.bitwise_and(image, image, mask = board_mask)

    contours, _ = cv2.findContours(board_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    print(contours)
    contours = sorted(contours, key=lambda x: cv2.contourArea(x), reverse=True)
        
    cnt = contours[0]
    (board_x, board_y, board_w, board_h) = cv2.boundingRect(cnt)
    cv2.drawContours(image, [cnt], -1, (0, 255, 0), 3)
    cv2.drawContours(virtual_board, [cnt], -1, (0, 255, 0), 3)

    def ResizeWithAspectRatio(image, width=None, height=None, inter=cv2.INTER_AREA):
        dim = None
        (h, w) = image.shape[:2]

        if width is None and height is None:
            return image
        if width is None:
            r = height / float(h)
            dim = (int(w * r), height)
        else:
            r = width / float(w)
            dim = (width, int(h * r))

        return cv2.resize(image, dim, interpolation=inter)

    resize = ResizeWithAspectRatio(image, width=300)
    cv2.imshow("virtual_board", np.hstack([resize, output]))
    cv2.waitKey(0)

and the error I get is:

Traceback (most recent call last):
  File "C:\Users\hampus.ramsten\Desktop\Detection.py", line 46, in <module>
    cv2.imshow("virtual_board", np.hstack([resize, output]))
  File "<__array_function__ internals>", line 5, in hstack
  File "C:\Users\hampus.ramsten\AppData\Local\Programs\Python\Python38-32\lib\site-packages\numpy\core\shape_base.py", line 346, in hstack
    return _nx.concatenate(arrs, 1)
  File "<__array_function__ internals>", line 5, in concatenate
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 168 and the array at index 1 has size 1080

0 Answers0