我使用java OpenCV对我的图像进行了颜色分割,并且阈值图像可以显示为图像1:
我想计算阈值图像中的白点数。我参与了findcontour()
功能并尝试获取白点的计数。但是我失败了。请帮我。我的代码在这里。
Imgproc.findContours(destination, contours, hierarchy,
Imgproc.RETR_EXTERNAL,Imgproc.CHAIN_APPROX_SIMPLE);
for(int j=0;j<contours.size();j++){
sum=sum+contours.size();
}
System.out.println("Sum"+sum);
答案 0 :(得分:0)
答案 1 :(得分:0)
杰鲁的回答对于这个案子是正确的。如果你有一个更大噪音的情况,其中morpholigocal操作不会将它们拿出来,你可以用轮廓尺寸制作一个截止值,例如
int main(void){
int i, j;
float T1[4]={1.1, 1.2, 1.3, 1.4};
float T2[6]={2.1, 2.2, 2.3, 2.4, 2.5, 2.6};
float T3[3]={3.1, 3.2, 3.3};
float T4[2]={4.1, 4.2};
float T5[4]={5.1, 5.2, 5.3, 5.4};
float *TAB[5]={T1, T2, T3, T4, T5};
for(i=0; i<5; i++){
for(j=0; j<sizeof(TAB[i])/(sizeof (int)); j++){
printf("%f ", *(TAB[i]+j));
}
}
printf("\n");
}
在计算之前