我的任务是识别照片上的闪电。我选择使用OpenCV。
我使用二进制阈值来获取这样的图像。
原件:
二进制阈值处理后:
现在如何确定图像中是否有闪电?
那么,如何区分图像上的闪电与其他线条?例如
在二进制阈值处理后,在此图像上我得到以下内容:
但如果我只计算白色像素的数量 - 我得到了错误的答案。
我的代码的主要部分:
if ((Igray = cvLoadImage(argv[1], CV_LOAD_IMAGE_GRAYSCALE)) == 0) {
return -1;
}
int block_size = atoi(argv[2]);
double offset = (double)atof(argv[3]);
Iat = cvCreateImage(cvSize(Igray -> width, Igray -> height), IPL_DEPTH_8U, 1);
// treshold
cvThreshold(Igray, Iat, offset, 255, CV_THRESH_BINARY);