我有两个不同的数组,一个持有public static void chargement(Mat img) {
NByte = (int) (img.total() * img.elemSize());
buffer = new byte[NByte];
img.get(0, 0, buffer);
}
public static Point[] detectCercle(Mat img, int rayon) {
Mat circles = new Mat();
Point[] circlesList = null;
Imgproc.HoughCircles(img, circles, Imgproc.CV_HOUGH_GRADIENT, 1, 60, 200, 20, 30, 0);
System.out.println("#rows " + circles.rows() + " #cols " + circles.cols());
double x = 0.0;
double y = 0.0;
int r = 0;
for (int i = 0; i < circles.rows(); i++) {
double[] data = circles.get(i, 0);
for (int j = 0; j < data.length; j++) {
x = data[0];
y = data[1];
r = (int) data[2];
}
circlesList[i] = new Point(x, y);
}
return circlesList;
}
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat matimage1 = Imgcodecs.imread("src/imge1.jpg", Imgcodecs.CV_LOAD_IMAGE_COLOR);
Mat matimage2 = Imgcodecs.imread("src/image2.jpg", Imgcodecs.CV_LOAD_IMAGE_COLOR);
Mat matimage3 = Imgcodecs.imread("src/image3.jpg", Imgcodecs.CV_LOAD_IMAGE_COLOR);
detectCercle(matimage3,2);
}
而另一个持有categories
。
分类数组:
pages
页数组:
$scope.categories = [{
id: 1,
name: "Test category"
}];
我想将所有关联的网页添加到其类别中。这可以通过了解页面的$scope.pages = [{
id: 1,
name: "Test page",
category: 1
}];
属性是否等于类别的category
来实现。
目前,我写了一个循环的函数
id
这是实现此目的的正确Angular方法吗?
答案 0 :(得分:3)
对此没有正确或错误的答案。如果我将您的问题解释为“Can Angular可以简化这个吗?”然后是的,它可以。
您可以使用Angular filters将mergePages
函数压缩为以下内容:
function mergePages()
{
angular.forEach($scope.categories, function (category)
{
category['pages'] = $filter('filter')($scope.pages, {category: category.id});
});
}
这会通过比较过滤器中的类别ID来填充$scope.categories
相应的页面。
Here's表明它有效的小提琴。