Numpy 我能';使用cv2.HoughLines后是否无法获得输出图像?
我想在一些卫星图像上使用OpenCV的Hough变换来检测线条,我使用带有标志的Numpy 我能';使用cv2.HoughLines后是否无法获得输出图像?,numpy,opencv,google-colaboratory,satellite-image,Numpy,Opencv,Google Colaboratory,Satellite Image,我想在一些卫星图像上使用OpenCV的Hough变换来检测线条,我使用带有标志的cv.imshow()读取它。IMREAD\u LOAD\u GDAL,然后我将图像从float32转换为uint8,以便接受Canny检测器cv2.Canny(),然后使用cv2.HoughLines(),之后,我想显示/打印图像,但它显示了一个关于尺寸的错误,它显示: 图像数据的形状(4975,1,2)无效 image = cv.imread(path, cv.IMREAD_LOAD_GDAL) convert
cv.imshow()
读取它。IMREAD\u LOAD\u GDAL,然后我将图像从float32转换为uint8,以便接受Canny检测器cv2.Canny()
,然后使用cv2.HoughLines()
,之后,我想显示/打印图像,但它显示了一个关于尺寸的错误,它显示:
图像数据的形状(4975,1,2)无效
image = cv.imread(path, cv.IMREAD_LOAD_GDAL)
convert = np.uint8(image)
ed = cv.Canny(arr, 50, 200)
line = cv.HoughLines(ed, 1, np.pi / 180, 240)
plt.imshow(line)
显示的错误是:
TypeError:图像数据的形状(4975,1,2)无效
问题是在使用
cv.HoughLines()
后,它将图像从2D更改为3D:(7361109)“uint8”更改为(4975,1,2)“float32”cv.HoughLines()的输出不是图像,而是线的数组。也许读一读会有帮助。