IInkDotDetect.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef __I_INKDOTDETECT_H__
  2. #define __I_INKDOTDETECT_H__
  3. // *****************************************************************************
  4. // 版权所有(C)2023~2099 上海骄成超声波技术有限公司
  5. // 保留所有权利
  6. // *****************************************************************************
  7. // 作者 : 陆蕴凡
  8. // 版本 : 1.0
  9. // 代码创建日期:2025/02/18
  10. // 版本更新日期:2025/02/18
  11. // 功能说明:墨点检测接口
  12. // *****************************************************************************
  13. #include <vector>
  14. #include <string>
  15. #include "TypeDef.h"
  16. namespace HalconCpp {
  17. class HTuple;
  18. }
  19. namespace JVision
  20. {
  21. /**
  22. * @brief 墨点检测接口基类
  23. *
  24. */
  25. class JVision_API IInkDotDetect
  26. {
  27. public:
  28. virtual ~IInkDotDetect() = 0 {}
  29. /**
  30. * @brief 墨点检测
  31. * @param[in] Image 需要检测的图片
  32. * @param[in] markImage 模版图片
  33. * @param[in&out] result 点位的集合,对传入的集合进行操作
  34. *
  35. * @return bool 是否执行成功
  36. */
  37. virtual bool FindInkDot(const JVision::ImageInfo& Image, const JVision::ImageInfo& markImage, std::vector<JVision::Point>& result) = 0;
  38. /**
  39. * @brief 墨点检测
  40. * @param[in] Image 需要检测的图片
  41. * @param[in] markImage 模版图片
  42. * @param[in&out] row 点位的行坐标集合,对传入的集合进行操作
  43. * @param[in&out] col 点位的列坐标集合,对传入的集合进行操作
  44. *
  45. * @return bool 是否执行成功
  46. */
  47. virtual bool FindInkDot(const JVision::ImageInfo& Image, const JVision::ImageInfo& markImage, HalconCpp::HTuple& row, HalconCpp::HTuple& col) = 0;
  48. /**
  49. * @brief 墨点检测
  50. * @param[in] Image 需要检测的图片
  51. * @param[in] markImage 模版图片
  52. * @param[in&out] row 点位的行坐标集合,对传入的集合进行操作
  53. * @param[in&out] row 点位的列坐标集合,对传入的集合进行操作
  54. * @param[in] index 用于墨点检测的接口
  55. *
  56. * @return bool 是否执行成功
  57. */
  58. virtual bool FindInkDot(const JVision::ImageInfo& Image, const JVision::ImageInfo& markImage, HalconCpp::HTuple& row, HalconCpp::HTuple& col, int index) = 0;
  59. /**
  60. * @brief 获取墨点检测函数的实现类指针
  61. */
  62. static IInkDotDetect* GetDotDetect();
  63. };
  64. }
  65. #endif