Я получаю сообщение об ошибке, пытаясь преобразовать (i sh ??) изображение. Основная цель этого алгоритма - найти полосы на заданной дороге. Но я получаю сообщение об ошибке, в котором говорится, что только массивы размера 1 могут быть преобразованы в Python скаляры на OpenCV. Вот мой код:
enter code here
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv
def canny(image):
gray=cv.cvtColor(lane_image,cv.COLOR_RGB2GRAY)
blur=cv.GaussianBlur(gray,(5,5),0)
canny_image=cv.Canny(blur,50,150)
return canny_image
def display_lines(image,lines):
line_image=np.zeros_like(image)
if lines is not None:
for line in lines:
x1,y1,x2,y2=line.reshape(4)
cv.line(line_image,(x1,y1),(x2,y2),(255,0,0),10)
return line_image
def region_of_interest(image):
height=image.shape[0]
polygons=np.array([[(200,height),(735,height),(445,250)]])
mask=np.zeros_like(image)
cv.fillPoly(mask,polygons,255)
masked_image=cv.bitwise_and(image, mask)
return masked_image
image=cv.imread("D:/large_thumbnail.jpg")
lane_image=np.copy(image)
canny=canny(lane_image)
cropped_image=region_of_interest(canny)
lines=cv.HoughLinesP(cropped_image,2,np.pi/180,100,np.array([]),minLineLength=40,maxLineGap=5)
line_im=display_lines(lane_image,lines)
combo_add=cv.addWeighted(lane_image,0,8,line_im,1,1)---> the error line
cv.imshow("",combo_add)