问题描述
我正在研究 sobel 文件管理器。为此,我将以下代码作为参考。 Sobel Reference Code.
使用此代码,我得到白色的 sobel 边缘,它的范围和图像的其余部分为黑色。我试图获得黑色的 sobel 边缘,它的范围和图像的其余部分为白色。为此,我尝试更改以下循环,但没有成功。
for (y = 0; y < height; y++) {
for (x = 0; x < width; x++) {
var pixelX = (
(kernelX[0][0] * pixelAt(x - 1,y - 1)) +
(kernelX[0][1] * pixelAt(x,y - 1)) +
(kernelX[0][2] * pixelAt(x + 1,y - 1)) +
(kernelX[1][0] * pixelAt(x - 1,y)) +
(kernelX[1][1] * pixelAt(x,y)) +
(kernelX[1][2] * pixelAt(x + 1,y)) +
(kernelX[2][0] * pixelAt(x - 1,y + 1)) +
(kernelX[2][1] * pixelAt(x,y + 1)) +
(kernelX[2][2] * pixelAt(x + 1,y + 1))
);
var pixelY = (
(kernelY[0][0] * pixelAt(x - 1,y - 1)) +
(kernelY[0][1] * pixelAt(x,y - 1)) +
(kernelY[0][2] * pixelAt(x + 1,y - 1)) +
(kernelY[1][0] * pixelAt(x - 1,y)) +
(kernelY[1][1] * pixelAt(x,y)) +
(kernelY[1][2] * pixelAt(x + 1,y)) +
(kernelY[2][0] * pixelAt(x - 1,y + 1)) +
(kernelY[2][1] * pixelAt(x,y + 1)) +
(kernelY[2][2] * pixelAt(x + 1,y + 1))
);
var magnitude = Math.sqrt((pixelX * pixelX) + (pixelY * pixelY))>>>0;
sobelData.push(magnitude,magnitude,255);
}
}
如何获得黑色边缘和白色像素的其余部分?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)