问题标签 [sobel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python OpenCV 3.1.0 错误:当我尝试使用 Sobel 运算符时,图像数据无法转换为浮点数
我正在使用此处显示的示例:http: //docs.opencv.org/3.1.0/d5/d0f/tutorial_py_gradients.html
开始使用 Sobel 运算符处理 python 中的图像。但是当我运行它时会抛出错误:TypeError:图像数据无法转换为浮点数。
python - Matlab filter2 和 opencv sobel 产生不同的图像梯度
我需要为图像中的补丁实现定向梯度直方图(每个补丁一个 HOG 特征向量,而不是整个图像的一个 HOG)。我一直在此链接上使用 Matlab 代码并将代码翻译为 opencv python。我已经进行了一些更改以适应我的目的,Matlab 和 Python 代码之间的主要区别之一是我获取每个单元格的渐变的方式,而在 Matlab 中我使用的是上面链接中使用的filter2 ,在 Opencv 中,我使用Sobel运算符。我的问题是这两种方法产生的渐变是不同的,我很难修复它。我尝试更改图像和内核数字表示。我也试过在opencv中使用filter2D ,还有imfilter在 Matlab 中,但基本上没有一个工作。这是使用filter2计算梯度的 Matlab 代码:
这是我使用Sobel运算符编写的 Python OpenCV 版本:
编辑:我按照这里的帖子,在 Matlab 中使用双线性方法,在 OpenCV 中使用 cv2.INTER_LINEAR,并在 Matlab 中停用抗锯齿,但两个调整大小的图像仍然不完全匹配。这是 Matlab 中测试图像的调整大小图像的一部分:
第二次编辑:事实证明,舍入的方式会导致这种差异。所以,我将我的 OpenCV 代码更改为:
和 Matlab:
我认为问题是由衍生方法引起的。我在 OpenCV 中检查了 cv2.filter2D,但结果仍然不同。我希望有人能给我提示可能导致问题的原因。
c++ - opencv Sobel算子是否计算相关性?
opencv Sobel算子是否计算相关性,而不是卷积?我知道 filter2D 函数计算相关性,我刚刚发现(根据代码的结果)Sobel 算子也计算相关性。这是预期的吗?我在这里错过了什么吗?
matlab - 在matlab中使用sobel掩码算子找到梯度
我正在使用以下代码使用 sobel mask 屏蔽图像。
我的问题是,有时梯度方向值是“NaN”,如何避免呢?
二、如何将梯度方向量化为8个区域并找到图像的特征向量?请有人帮助我。
python - 在 python 中可视化 sobel 梯度
我正在尝试在 Python 中实现 sobel 运算符并将其可视化。但是,我正在努力解决如何做到这一点。我有以下代码,它当前计算每个像素的梯度。
现在,gradient_magnitude 通常是一个远远超出 0-255 范围的值,例如 990.0、1002.0、778 等。
所以我想做的是可视化渐变,但我不确定如何。大多数在线资源只提到计算梯度角度和幅度,而不是如何在图像中表示它。
matlab - 如何创建图像叠加层?改变边缘颜色
如何创建图像叠加层?更改边缘颜色:为了将边缘更改为绿色,起初我使用了“sobel”,但是覆盖部分有一个错误:“IMG 必须是灰度或 RGB 图像的数组:writeVideo(writer,double(out));” 为什么?
cuda - 使用 CUDA 和 Sobel 滤波器进行卷积
所以我已经在 CUDA 中实现(或至少尝试过)Sobel 过滤器,我的代码如下。当我执行这个文件时,我得到了一个正确的 Sobel 过滤图像的一半,另一半是黑色的。我无法上传图片,因为它们是 .pgm 格式。因此,代码的作用是读取 .pgm 格式的灰度图像,并使用共享内存概念将 Sobel 过滤器掩码与其卷积。我使用 1024 x 1024 .pgm 图像作为输入,它返回一个 Sobel 过滤图像,其边缘有一半水平切割,所以下半部分是黑色的。有人可以帮我吗?另外,我对代码有点好奇,我不太明白第二批加载的作用,所以请你也解释一下。
索贝尔.cu
我的pgm.h