OpenCV中Mat、Ipllmage以及Halcon中Hobject数据类型之间转换

这篇具有很好参考价值的文章主要介绍了OpenCV中Mat、Ipllmage以及Halcon中Hobject数据类型之间转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenCV中Mat、CVMat、Ipllmage类型都可以代表和显示图像。IplImage是由CVMat派生,而CvMat由CvArr派生即CvArr -> CvMat -> IplImage,Mat类型则是C++版本的矩阵类型(CvArr用作函数的参数,无论传入的是CvMat或IplImage,内部都是按CvMat处理)。

Mat类型侧重于计算,数学性较高; 而CvMat和IplImage类型更侧重于“图像”,如缩放、单通道提取、图像阈值操作等进行了优化。

IplImage 转 Mat:

IplImage* image = cvLoadImage("lena.jpg");

Mat mat = cvarrToMat(image);

Mat 转 IplImage:

IplImage img = IplImage(mat);

以上两种属于浅拷贝,只创建图像头文件,没有进行数据拷贝

//Hobject to IplImage(Opencv中的Mat转换为Halcon中的HObject)

cv::Mat HImageToIplImage(HObject &Hobj)

{

        //get_grayval(Image : : Row, Column : Grayval)

        cv::Mat pImage;

        HTuple htChannels;

        HTuple width, height;

        width = height = 0;

        //转换图像格式

        ConvertImageType(Hobj, &Hobj, "byte");

        CountChannels(Hobj, &htChannels);

        HTuple cType;

        HTuple grayVal;

        if (htChannels.I() == 1)

        文章来源地址https://www.toymoban.com/news/detail-686797.html

到了这里,关于OpenCV中Mat、Ipllmage以及Halcon中Hobject数据类型之间转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Opencv 基本操作四 指针数组、vector与Mat之间的相互转换 | Mat切片成Vector<mat>并还原

    在深度学习模型部署中通常存在读取图像为mat,然后将mat转换为float指针传入模型的操作。为了快捷开发,因此对指针数组、vector与Mat之间的相互转换进行整理。实现了指针数组、vector之间的相互转换;vector与Mat之间的相互转换(含单通道图像和多通道图像)。vector转mat主要

    2024年02月08日
    浏览(47)
  • Eigen 类型三维点的世界坐标转换为 OpenCV Mat 类型

    cv::Mat WorldPos; :这行代码声明了一个 OpenCV Mat 对象 WorldPos ,用于存储三维点在世界坐标系下的位置。 cv::eigen2cv(pMP-

    2024年02月12日
    浏览(50)
  • [OpenCV] CV_32F与CV_8U之间的数据类型转换

    最近在c++使用OpenCV时,总会因为类型转换为发生图片颜色错误,在网上查了些方法都不适用,总结下自己探索的经验。 经常使用的是8UC(n)与32FC(n),其中8U在0-255之间使用整数对应颜色,32F在0-1之间使用小数对应颜色; 在使用 converTo() 进行数据类型转换时,数据值并不会发生内

    2024年02月12日
    浏览(52)
  • halcon介绍以及与opencv比较

    Halcon是一种机器视觉开发平台,由MVTec Software GmbH开发和推广。它是一款功能强大、易于使用的机器视觉软件,被广泛应用于工业自动化、机器人视觉、医疗、安全监控等领域。 Halcon不是开源的软件,它是由奥地利MVTec Software GmbH公司开发的商业软件。Halcon是一款功能强大的机

    2024年02月11日
    浏览(40)
  • opencv c++ canny 实现 以及与halcon canny的对比

    1、图像必须是单通道的,也就是说必须是灰度图像 2、图像进行高斯滤波,去掉噪点  3、sobel 算子过程的实现,计算x y方向 、梯度(用不到,但是可以看看xy 两个组合起来的结果) 以及梯度方向(很重要) 4、局部非极大值抑制 5、双阈值连接处理 具体可以分为上面的5个步

    2024年02月06日
    浏览(38)
  • OpenCV(三):Mat类数据的读取

    目录 1.Mat类矩阵的常用属性 2.Mat元素的读取 1.at方法读取Mat矩阵元素 at (int row,int col) 2.矩阵元素地址定位方式访问元素 3.Android jni demo 1.Mat类矩阵的常用属性 下面是一些Mat类的常用属性: rows: 返回Mat对象的行数。 cols: 返回Mat对象的列数。 dims: 返回Mat对象的维度数,通常为2(

    2024年02月10日
    浏览(41)
  • Elasticsearch中object类型与nested类型以及数组之间的区别

    0、一般情况下用object 类型来查es中为json对象的字段数据,用nested来查es中为JsonArray数组类型的字段数据。 1、默认情况下ES会把JSON对象直接映射为object类型,只有手动设置才会映射为nested类型 2、object类型可以直接使用普通的逗号(.)查询,比如 3、nested类型的查询需要使用

    2024年01月22日
    浏览(83)
  • C++如何打印输出OpenCV的Mat对象的像素数据?

    直接上源码: ==默认风格== [111, 111, 166, 192, 251, 255, 255, 255, 255, 255;  111,  83,  93,  83, 102,  85, 255, 251, 255, 255;  111,  83, 111, 102, 111, 140, 255, 255, 255, 255;  111,  83, 111,  83, 111, 140, 255, 255, 255, 255;   83,  83, 111,  83, 111, 175, 255, 255, 255, 255;   83,  74,  93,  83, 111, 175, 255, 251, 255, 255;  

    2023年04月08日
    浏览(47)
  • 【opencv之cv::Mat数据深拷贝和浅拷贝探讨】

    很多时候写程序除了一个强大的架构,细节也很重要,俗话说的话细节决定成败嘛,在使用cv::Mat做图片处理的时候发现,这个数据类型存在深拷贝和浅拷贝的情况,遂想一探究竟。 假设这里原图数据为matSrc : copy方法 结果 matA = matSrc 浅拷贝 matB(matSrc ) 浅拷贝 matC = matSrc .cl

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包