123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #ifndef __I_INKDOTDETECT_H__
- #define __I_INKDOTDETECT_H__
- // *****************************************************************************
- // 版权所有(C)2023~2099 上海骄成超声波技术有限公司
- // 保留所有权利
- // *****************************************************************************
- // 作者 : 陆蕴凡
- // 版本 : 1.0
- // 代码创建日期:2025/02/18
- // 版本更新日期:2025/02/18
- // 功能说明:墨点检测接口
- // *****************************************************************************
- #include <vector>
- #include <string>
- #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<JVision::Point>& 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
|