Python 为什么在第61行(img=cv2.imread(';resources/shapesDif.png';)中显示语法错误?图像是正确的
第61行有一个无效的语法错误。我是openCV新手,我完全不知道它为什么会这样说。大多数代码不应该是为这个问题导入的,而是为了以防万一而发布的。 [**进口cv2 将numpy作为np导入 导入时间Python 为什么在第61行(img=cv2.imread(';resources/shapesDif.png';)中显示语法错误?图像是正确的,python,opencv,Python,Opencv,第61行有一个无效的语法错误。我是openCV新手,我完全不知道它为什么会这样说。大多数代码不应该是为这个问题导入的,而是为了以防万一而发布的。 [**进口cv2 将numpy作为np导入 导入时间 def stackImages(scale,imgArray): rows = len(imgArray) cols = len(imgArray\[0\]) rowsAvailable = isinstance(imgArray\[0\], list) width
def stackImages(scale,imgArray):
rows = len(imgArray)
cols = len(imgArray\[0\])
rowsAvailable = isinstance(imgArray\[0\], list)
width = imgArray\[0\]\[0\].shape\[1\]
height = imgArray\[0\]\[0\].shape\[0\]
if rowsAvailable:
for x in range ( 0, rows):
for y in range(0, cols):
if imgArray\[x\]\[y\].shape\[:2\] == imgArray\[0\]\[0\].shape \[:2\]:
imgArray\[x\]\[y\] = cv2.resize(imgArray\[x\]\[y\], (0, 0), None, scale, scale)
else:
imgArray\[x\]\[y\] = cv2.resize(imgArray\[x\]\[y\], (imgArray\[0\]\[0\].shape\[1\], imgArray\[0\]\[0\].shape\[0\]), None, scale, scale)
if len(imgArray\[x\]\[y\].shape) == 2: imgArray\[x\]\[y\]= cv2.cvtColor( imgArray\[x\]\[y\], cv2.COLOR_GRAY2BGR)
imageBlank = np.zeros((height, width, 3), np.uint8)
hor = \[imageBlank\]*rows
hor_con = \[imageBlank\]*rows
for x in range(0, rows):
hor\[x\] = np.hstack(imgArray\[x\])
ver = np.vstack(hor)
else:
for x in range(0, rows):
if imgArray\[x\].shape\[:2\] == imgArray\[0\].shape\[:2\]:
imgArray\[x\] = cv2.resize(imgArray\[x\], (0, 0), None, scale, scale)
else:
imgArray\[x\] = cv2.resize(imgArray\[x\], (imgArray\[0\].shape\[1\], imgArray\[0\].shape\[0\]), None,scale, scale)
if len(imgArray\[x\].shape) == 2: imgArray\[x\] = cv2.cvtColor(imgArray\[x\], cv2.COLOR_GRAY2BGR)
hor= np.hstack(imgArray)
ver = hor
return ver
def getContours(img):
contours,hierarchy = cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
for cnt in contours:
area = cv2.contourArea(cnt)
print(area)
if area>100:
cv2.drawContours(imgContour, cnt, -1, (255, 0, 0), 2)
peri = cv2.arcLength(cnt, True)
#print(peri)
approx = cv2.approxPolyDP(cnt,0.02*peri,True)
print(len(approx))
objCor = len(approx)
x, y, w, h = cv2.boundingRect(approx)
if objCor == 3: objectType = "Tri"
else:objectType = "None"
cv2.rectangle(imgContour,(x,y,),(x+w,y+h),(0,250,5),2)
cv2.putText(imgContour,objectType,
(x+(w/2)-10,y+(h/2)-10, cv2.QT_FONT_LIGHT,0.7,
(0,0,0),2)
img = cv2.imread('Recources/shapesDif.png', 0)
imgContour = img.copy()
imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
imgBlur = cv2.GaussianBlur(imgGray,(7,7),1)
imgCanny = cv2.Canny(imgBlur,50,50)
imgBlank = np.zeros_like(img)
getContours(imgCanny)
imgStack = stackImages(1.5,(\[img,imgGray, imgBlur\],
\[imgCanny,imgContour, imgBlank\]))
cv2.imshow("Stack", imgStack)
cv2.waitKey(0)**][1]
**请不要读我现在输入的内容。它只是说我需要更多的人类词语,所以我需要输入jibberish,这样我就可以问这个问题了。
[1] :如果反斜杠和试图使用的
[0]
有问题,请查看第3行的示例。一旦我将函数放入注释中,它就会起作用。因此,也要修复代码中的所有“[0]”,因为它的语法不正确。前面一行中有不平衡的括号。