gpt4 book ai didi

python - 卡尼边缘检测出错

转载 作者:行者123 更新时间:2023-12-02 16:56:30 27 4
gpt4 key购买 nike

我正在尝试使用opencv python编写代码,该代码自动获取精明的阈值,而不是每次手动进行操作。

img= cv2.imread('micro.png',0)
output = np.zeros(img.shape, img.dtype)
# Otsu's thresholding
ret2,highthresh = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
lowthresh=0.1*highthres
edges = cv2.Canny(img,output,lowthresh,highthresh)
cv2.imshow('canny',edges)

我收到此错误
“文件“test2.py”,第14行
edges = cv2.Canny(img,output,lowthresh,highthresh)
TypeError:只能将长度为1的数组转换为Python标量”

谁能帮助我提前解决此错误。

最佳答案

好像cv2.threshold返回检测到的边缘,并且Canny将它们应用于图像。下面的代码为我工作,并给我一些很好的图像边缘检测。

import cv2

cv2.namedWindow('canny demo')

img= cv2.imread('micro.png',0)
ret2,detected_edges = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
edges = cv2.Canny(detected_edges,0.1,1.0)
dst = cv2.bitwise_and(img,img,mask = edges)
cv2.imshow('canny',dst)

if cv2.waitKey(0) == 27:
cv2.destroyAllWindows()

关于python - 卡尼边缘检测出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24896440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com