Javascript 像素的X邻域
我正在使用JavaScript进行图像处理,我想让您知道是否有任何通用公式来确定像素的x邻域 我知道,对于一个3*3的正方形,有8个邻居可以使用特定的x和y像素来确定 x-1,y-1,x-1,y,x-1,y+1 x、 y-1,x,y,x,y+1 x+1,y-1,x+1,y,x+1,y+1 问题是,我正在使用5*5、7*7和9*9的方块,我想知道是否有任何方法可以让一个像素的所有x邻域都来自这三个方块,而不必在我的程序中手动写入位置 谢谢 如果你要做的事情很多,例如,对于图像中的每个像素,首先创建一个值的平面数组可能是值得的:Javascript 像素的X邻域,javascript,image,pixel,Javascript,Image,Pixel,我正在使用JavaScript进行图像处理,我想让您知道是否有任何通用公式来确定像素的x邻域 我知道,对于一个3*3的正方形,有8个邻居可以使用特定的x和y像素来确定 x-1,y-1,x-1,y,x-1,y+1 x、 y-1,x,y,x,y+1 x+1,y-1,x+1,y,x+1,y+1 问题是,我正在使用5*5、7*7和9*9的方块,我想知道是否有任何方法可以让一个像素的所有x邻域都来自这三个方块,而不必在我的程序中手动写入位置 谢谢 如果你要做的事情很多,例如,对于图像中的每个像素,首先创建
var size = 5;
var d = Math.floor(size / 2);
var dPixels = [];
for (var dx = -d; dx <= d; dx++) {
for (var dy = -d; dy <= d; dy++) {
if (dx || dy) {
dPixels.push(dx, dy);
}
}
}
// Then for each pixel (x, y)
for (var i = 0; i < dPixels.length; i += 2){
// Do something with x + dPixels[i], y + dPixels[i + 1]
}
你不能用2来表示循环吗?谢谢,伙计,我现在看到了,这似乎很明显
var size = 5;
var d = Math.floor(size / 2);
var dPixels = [];
for (var dx = -d; dx <= d; dx++) {
for (var dy = -d; dy <= d; dy++) {
if (dx || dy) {
dPixels.push(dx, dy);
}
}
}
// Then for each pixel (x, y)
for (var i = 0; i < dPixels.length; i += 2){
// Do something with x + dPixels[i], y + dPixels[i + 1]
}