Я хочу применить алгоритм Tenengrad к центральной прямоугольной области внутри изображения. Предполагая, что у меня есть координаты вершин прямоугольной области или, возможно, один угол и размеры, как я могу изменить следующий код, чтобы применить меру резкости по выбранной области?Чтобы применить функцию резкости по определенной области изображения OpenCV
double tenengrad(const cv::Mat& src, int ksize)
{
cv::Mat Gx, Gy;
cv::Sobel(src, Gx, CV_64F, 1, 0, ksize);
cv::Sobel(src, Gy, CV_64F, 0, 1, ksize);
cv::Mat FM = Gx.mul(Gx) + Gy.mul(Gy);
double focusMeasure = cv::mean(FM).val[0];
return focusMeasure;
}
Спасибо, человек! Я отредактирую код и верну вас как можно скорее. – Roy2511