问题描述
我正在研究 JavaScript 过滤器。我正在实现 Sobel 过滤器,其代码如下 https://jsfiddle.net/sacheie/c91bzwt5/8/ 。 在这里,我得到黑色背景和白色边缘,但在我预期的输出中,我需要白色背景和黑色边缘。我在 sobel 方法中尝试了一些更改,但它对我不起作用。有什么办法可以达到我的预期输出吗?
function sobel(img,x,y) {
var gradX = 0;
var gradY = 0;
gradX += pxlValue(img,x - 1,y - 1) * -1;
gradX += pxlValue(img,y + 0) * -2;
gradX += pxlValue(img,y + 1) * -1;
gradX += pxlValue(img,x + 1,y - 1) * 1;
gradX += pxlValue(img,y + 0) * 2;
gradX += pxlValue(img,y + 1) * 1;
gradY += pxlValue(img,y - 1) * -1;
gradY += pxlValue(img,x + 0,y - 1) * -2;
gradY += pxlValue(img,y + 1) * 1;
gradY += pxlValue(img,y + 1) * 2;
gradY += pxlValue(img,y + 1) * 1;
gradX /= 9;
gradY /= 9;
return Math.sqrt(Math.pow(gradX,2) + Math.pow(gradY,2));
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)