【发布时间】:2018-12-12 13:07:05
【问题描述】:
我在 openCV 中使用内置的 Sobel 边缘运算来进行某些图像处理,但结果与该函数的预期不符。
sobel=cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
cv2.imshow('Sobel Image',sobel)
我附上了输入图像的示例图像和我得到的结果输出。 请帮助我解决这个问题。 左边是输入图像,右边是结果图像。
【问题讨论】:
-
我对@987654325@了解不多,但是很多这种类型的图像显示都假设浮点数据在[0,1]范围内。在您的情况下,它要大得多(输入图像在 [0,255] 范围内),因此显示器无法正确显示图像。您想在显示之前将图像强度缩放到适当的范围。
-
imshow()接受整数(8uint、16uint 或 32int)和浮点数(32 位和 64 位)。除 8uint 外,其他的在显示前映射到 [0-255] 范围。查看更多关于 opencv 文档:docs.opencv.org/4.2.0/d7/dfc/… -
请提供您的输入图片,以便其他用户测试
标签: image opencv image-processing sobel