我想将Tenengrad算法应用于图像内的中心矩形区域。假设我有矩形区域顶点的坐标或者可能有一个角落和尺寸,我该如何修改以下代码以在所选区域应用锐度测量?
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;
}