请问在python-opencv中使用cv.canny进行轮廓检测的的轮廓坐标如何获取啊

问题遇到的现象和发生背景

cv.canny获得图像边缘但是不知道这些边缘点的坐标如何获取

问题相关代码,请勿粘贴截图
import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('3.jpg',0)

edges = cv2.Canny(img,100,200)
print(edges)
plt.subplot(121),plt.imshow(img,cmap = 'gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = 'gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()


运行结果及报错内容

打印出的edges全为0

[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]

我的解答思路和尝试过的方法
我想要达到的结果

想要得到图片边缘的坐标点

cv.canny 是进行边缘检测,不能直接提取轮廓特征。
OpenCV 中提供了函数cv.findContours()寻找轮廓,函数cv.drawContours() 绘制轮廓。

参见:
【课题总结】OpenCV 抠图项目实战(7)边缘检测 (https://youcans.blog.csdn.net/article/details/122357748)
【课题总结】OpenCV 抠图项目实战(8)图像轮廓 (https://youcans.blog.csdn.net/article/details/122372133)

Canny函数输出是二维点阵,打印出来的确是0和1组成的点阵,没错啊!可以用imshow函数显示看看