我希望在Canvas中实现这种图像处理效果:
WebGL图像处理
我需要一种边缘检测算法或解释,以绘制用户提交的图像中仅为黑色像素或边框元素(例如面部)。
谢谢。
谢谢。
根据您的想法,第一步是边缘检测。下面的示例展示了如何使用MarvinJ来检测边缘。有了边缘之后,您可以得到物体轮廓。
输入图像:
边缘检测:
var canvas = document.getElementById("canvas");
image = new MarvinImage();
image.load("https://i.imgur.com/ZHgkM9w.jpg", imageLoaded);
function imageLoaded(){
var imageOut = new MarvinImage(image.getWidth(), image.getHeight());
// Edge Detection (Prewitt approach)
Marvin.prewitt(image, imageOut);
// Invert color
Marvin.invertColors(imageOut, imageOut);
// Threshold
Marvin.thresholding(imageOut, imageOut, 220);
imageOut.draw(canvas);
}
<script src="https://www.marvinj.org/releases/marvinj-0.7.js"></script>
<canvas id="canvas" width="500" height="344"></canvas>