openCV Canny边缘检测改进

时间:2019-11-13 23:49:20

标签: opencv canny-operator

我正在尝试在我的python代码中使用openCV Canny边缘检测器。我想沿着与皮肤相对应的对象的边缘进行边缘检测。

我做到了:

**im = img[0]
bw = im > thAir
eg1 = cv2.Canny(np.uint8(im),thAir,thBone)
eg2 = cv2.Canny(np.uint8(bw), 0,1)
fig,ax = plt.subplots(1,4)
ax[0].imshow(im)
ax[1].imshow(bw)
ax[2].imshow(eg1)
ax[3].imshow(eg2)
plt.show()**

其中thBone是最大值,thAir是最小值

但是,很明显,检测没有用...对改进有任何想法吗?

imshow results

1 个答案:

答案 0 :(得分:0)

thAirthBone的值是什么? Canny边缘检测器的准确性很大程度上取决于这些阈值的选择。

还考虑使用形态。您可以使用形态学梯度来检测此类对象的边缘(已连接,内部没有孔),而这与阈值无关。 形态转换的文档: https://docs.opencv.org/2.4.13.7/modules/imgproc/doc/filtering.html?highlight=morphologyex#cv2.morphologyEx