使用自定义结构元素进行击中击不中变换时发现如下问题:
自定义结构元素如下:
float kernel_data_b[8][8] = {
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1},
};
cv::Mat kernel_b = cv::Mat(8, 8, CV_32FC1, &kernel_data_b);
cv::Point center_b = (7, 7); // b结构单元的中心点
这个点的实际坐标是(15, 62), 但是检测出来的点是(15,55),在Y方向上查出一个结构元素的大小,这是为什么?