toCvCopy与toCvShare的区别
发布日期:2021-05-07 01:18:22 浏览次数:35 分类:原创文章

本文共 1738 字,大约阅读时间需要 5 分钟。

  • 返回数据的指针指向不同
  • 返回指针类型不同

toCvCopy复制数据并返回复制数据地址指针cv_bridge::CvImagePtr

/** * \brief Convert a sensor_msgs::Image message to an OpenCV-compatible CvImage, copying the * image data. * * \param source   A shared_ptr to a sensor_msgs::Image message * \param encoding The desired encoding of the image data, one of the following strings: *    - \c "mono8" *    - \c "bgr8" *    - \c "bgra8" *    - \c "rgb8" *    - \c "rgba8" *    - \c "mono16" * * If \a encoding is the empty string (the default), the returned CvImage has the same encoding * as \a source. */CvImagePtr toCvCopy(const sensor_msgs::ImageConstPtr& source,                    const std::string& encoding = std::string());CvImagePtr toCvCopy(const sensor_msgs::CompressedImageConstPtr& source,                    const std::string& encoding = std::string());

toCvShare获取数据并返回源数据地址指针cv_bridge::CvImageConstPtr

/** * \brief Convert an immutable sensor_msgs::Image message to an OpenCV-compatible CvImage, sharing * the image data if possible. * * If the source encoding and desired encoding are the same, the returned CvImage will share * the image data with \a source without copying it. The returned CvImage cannot be modified, as that * could modify the \a source data. * * \param source   A shared_ptr to a sensor_msgs::Image message * \param encoding The desired encoding of the image data, one of the following strings: *    - \c "mono8" *    - \c "bgr8" *    - \c "bgra8" *    - \c "rgb8" *    - \c "rgba8" *    - \c "mono16" * * If \a encoding is the empty string (the default), the returned CvImage has the same encoding * as \a source. */CvImageConstPtr toCvShare(const sensor_msgs::ImageConstPtr& source,                          const std::string& encoding = std::string());
上一篇:flink分析使用之四Job的启动
下一篇:多线程的伪共享

发表评论

最新留言

很好
[***.229.124.182]2025年04月14日 01时16分41秒