Я хочу рассчитать стандартное отклонение изображения, используя OpenCV в C ++. Тем не менее, я получаю очень странные результаты. Мой код:
#include <iostream>
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
VideoCapture cap("Sample-Video.mp4");
Mat frame;
ret = cap.read(frame);
Scalar m, stdv;
cvtColor(frame, frame, COLOR_BGR2GRAY);
Laplacian(frame, frame, CV_64F, 3);
meanStdDev(frame, m, stdv);
cout << stdv << endl;
}
Он выводит всегда:
[0, 0, 0, 0]
[nan, 0, 0, 0]
[nan, 0, 0, 0]
[-nan, 0, 0, 0]
[-nan, 0, 0, 0]
[-nan, 0, 0, 0]
[nan, 0, 0, 0]
[nan, 0, 0, 0]
[nan, 0, 0, 0]
[nan, 0, 0, 0]
[nan, 0, 0, 0]
[nan, 0, 0, 0]
и так далее. Где проблема?