Я пробую проект самостоятельного вождения. Я хочу пометить кадр, получив его через камеру Джетсона Нано. Однако возникла та же ошибка, что и в названии.
temp_array = roi.reshape(1, int(height / 2) * width).astype(np.float32)
ValueError: cannot reshape array of size 230400 into shape (1,153600)
Можете взглянуть на мой код?
import socket
import numpy as np
import cv2
import pygame
HOST = '127.0.0.1'
PORT = 9999
def recvall(sock, count):
buf = b''
while count:
newbuf = sock.recv(count)
if not newbuf: return None
buf += newbuf
count -= len(newbuf)
return buf
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
while True:
length = recvall(client_socket, 16)
stringData = recvall(client_socket, int(length))
data = np.frombuffer(stringData, dtype='uint8')
decimg = cv2.imdecode(data, cv2. )
print(type(decimg)) # class numpy.ndarray
print(decimg.shape) # 480,640,3
height, width,_ = decimg.shape
roi = decimg[120:240, :] #120,640,3
print(roi.shape)
cv2.imshow('Client', decimg)
cv2.imshow('roi',roi)
temp_array = roi.reshape(1, int(height / 2) * width).astype(np.float32)
# print(temp_array)
key = cv2.waitKey(1)
if key == 27:
break```