Я пытаюсь запустить функцию Лапласа и Собеля, чтобы проверить грани и градиенты потокового видео, но во время выполнения кода, указанного ниже
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
# Take each frame
_, frame = cap.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
lower_red = np.array([30,150,50])
upper_red = np.array([255,255,180])
mask = cv2.inRange(hsv, lower_red, upper_red)
res = cv2.bitwise_and(frame,frame, mask= mask)
laplacian = cv2.Laplacian(frame,cv2.CV_64F)
sobelx = cv2.Sobel(frame,cv2.CV_64F,1,0,ksize=5)
sobely = cv2.Sobel(frame,cv2.CV_64F,0,1,ksize=5)
cv2.imshow('Original',frame)
cv2.imshow('Mask',mask)
cv2.imshow('laplacian',laplacian)
cv2.imshow('sobelx',sobelx)
cv2.imshow('sobely',sobely)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
cap.release()
Я сталкиваюсь с ошибкой, используя эту проблему, хотя япоиск от Google также и пытается снизить версию OpenCV 4 до OpenCV 3, которая также не работает на ноутбуке и сталкивается с ошибкой
Traceback (most recent call last):
File "C:\Users\Misha\Desktop\test\CV\Edge Detection and Gradients.py", line 24, in <module>
cv2.imshow('laplacian',laplacian)
cv2.error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\highgui\src\window_w32.cpp:1230: error: (-215:Assertion failed) dst.data == (uchar*)dst_ptr in function 'cvShowImage'
Любые полезные советы по этому вопросу помогут вам.