Franpper 2023-04-23 17:03 采纳率: 25%
浏览 17
已结题

关于#opencv#的问题:使用自定义结构元素进行击中击不中变换时发现如下问题:自定义结构元素如下:(语言-c++)

使用自定义结构元素进行击中击不中变换时发现如下问题:
自定义结构元素如下:

    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结构单元的中心点

img


这个点的实际坐标是(15, 62), 但是检测出来的点是(15,55),在Y方向上查出一个结构元素的大小,这是为什么?

  • 写回答

4条回答 默认 最新

  • Franpper 2023-04-24 09:18
    关注

    关于设置结构元素中心点,原来的代码是这样写的 cv::Point center_b = (7, 7); 就会出现上述问题
    但是改成 cv::Point center_b = Point(7, 7); 之后就解决问题了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月23日