#ifndef __I_INKDOTDETECT_H__ #define __I_INKDOTDETECT_H__ // ***************************************************************************** // 版权所有(C)2023~2099 上海骄成超声波技术有限公司 // 保留所有权利 // ***************************************************************************** // 作者 : 陆蕴凡 // 版本 : 1.0 // 代码创建日期:2025/02/18 // 版本更新日期:2025/02/18 // 功能说明:墨点检测接口 // ***************************************************************************** #include #include #include "TypeDef.h" namespace HalconCpp { class HTuple; } namespace JVision { /** * @brief 墨点检测接口基类 * */ class JVision_API IInkDotDetect { public: virtual ~IInkDotDetect() = 0 {} /** * @brief 墨点检测 * @param[in] Image 需要检测的图片 * @param[in] markImage 模版图片 * @param[in&out] result 点位的集合,对传入的集合进行操作 * * @return bool 是否执行成功 */ virtual bool FindInkDot(const JVision::ImageInfo& Image, const JVision::ImageInfo& markImage, std::vector& result) = 0; /** * @brief 墨点检测 * @param[in] Image 需要检测的图片 * @param[in] markImage 模版图片 * @param[in&out] row 点位的行坐标集合,对传入的集合进行操作 * @param[in&out] col 点位的列坐标集合,对传入的集合进行操作 * * @return bool 是否执行成功 */ virtual bool FindInkDot(const JVision::ImageInfo& Image, const JVision::ImageInfo& markImage, HalconCpp::HTuple& row, HalconCpp::HTuple& col) = 0; /** * @brief 墨点检测 * @param[in] Image 需要检测的图片 * @param[in] markImage 模版图片 * @param[in&out] row 点位的行坐标集合,对传入的集合进行操作 * @param[in&out] row 点位的列坐标集合,对传入的集合进行操作 * @param[in] index 用于墨点检测的接口 * * @return bool 是否执行成功 */ virtual bool FindInkDot(const JVision::ImageInfo& Image, const JVision::ImageInfo& markImage, HalconCpp::HTuple& row, HalconCpp::HTuple& col, int index) = 0; /** * @brief 获取墨点检测函数的实现类指针 */ static IInkDotDetect* GetDotDetect(); }; } #endif