1. QString转换String

string s = qstr.toStdString();

2.String转换QString

QString qstr2 = QString::fromStdString(s);

3.mat与qimage互转

QImage cvMat2QImage(const cv::Mat& mat)
{// 8-bits unsigned, NO. OF CHANNELS = 1if(mat.type() == CV_8UC1){QImage image(mat.cols, mat.rows, QImage::Format_Indexed8);// Set the color table (used to translate colour indexes to qRgb values)image.setNumColors(256);for(int i = 0; i < 256; i++){image.setColor(i, qRgb(i, i, i));}// Copy input Matuchar *pSrc = mat.data;for(int row = 0; row < mat.rows; row ++){uchar *pDest = image.scanLine(row);memcpy(pDest, pSrc, mat.cols);pSrc += mat.step;}return image;}// 8-bits unsigned, NO. OF CHANNELS = 3else if(mat.type() == CV_8UC3){// Copy input Matconst uchar *pSrc = (const uchar*)mat.data;// Create QImage with same dimensions as input MatQImage image(pSrc, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);return image.rgbSwapped();}else if(mat.type() == CV_8UC4){// Copy input Matconst uchar *pSrc = (const uchar*)mat.data;// Create QImage with same dimensions as input MatQImage image(pSrc, mat.cols, mat.rows, mat.step, QImage::Format_ARGB32);return image.copy();}else{return QImage();}
}

4. QImage转Mat

Mat QImage2cvMat(QImage image)
{Mat mat;switch (image.format()){case QImage::Format_ARGB32:case QImage::Format_RGB32:case QImage::Format_ARGB32_Premultiplied:mat = Mat(image.height(), image.width(), CV_8UC4, (void*)image.constBits(), image.bytesPerLine());break;case QImage::Format_RGB888:mat = Mat(image.height(), image.width(), CV_8UC3, (void*)image.constBits(), image.bytesPerLine());cv::cvtColor(mat, mat, CV_BGR2RGB);break;case QImage::Format_Indexed8:mat = Mat(image.height(), image.width(), CV_8UC1, (void*)image.constBits(), image.bytesPerLine());break;}return mat;
}

5.QImage与QPixmap互转

    QPainter p(this);QPixmap pixmap;pixmap.load("../image/路飞.jpg");//QPixmap->QImageQImage tempImage = pixmap.toImage();p.drawImage(0,0,tempImage);QImage image;image.load("../image/路飞.jpg");//QImage->QPixmapQPixmap tempPixmap = QPixmap::fromImage(image);p.drawPixmap(450,0,tempPixmap);

编程语言之类型之间转换相关推荐

  1. Linq--使用Linq在不同类型之间转换

    需求: 有两个类型,分别为MyUser和YourUser,要在这两个类型之间进行转换 MyUser.cs namespace XMLSpy.Linq{     public class MyUser{ ...

  2. Go : 类型之间转换数字的测试(附完整源码)

    Go : 类型之间转换数字的测试 package main var i8 int8; var u8 uint8; var i16 int16; var u16 uint16; var i32 int3 ...

  3. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  4. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...

    目录 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数 ...

  5. python变量类型之间转换_python学习笔记5—数据类型转换

    数据类型转换 16进制和10进制之间转换In [18]: int('a',16) 把16进制的a转换为10进制的10,16说明a是16进制数 Out[18]: 10 In [13]: int('0xa ...

  6. C语言各种类型之间转换详解

    目录 1. C基本类型变量 2. 符号扩展 2.1 规则一: 2.2 规则二: 2.3 规则三: 3. 零扩展 4. 长类型转换为短类型 5. 自动类型转换 5.1 赋值时的类型转换 5.2 运算时的 ...

  7. python变量类型之间转换_Python常用数据类型之间的转换总结

    函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) ...

  8. 【MATLAB Image Processing Toolbox 入门教程六】“导入、导出和转换”之“图像类型转换Ⅰ——在不同图像类型之间转换”

    [MATLAB Image Processing Toolbox 入门教程六] 1 gray2ind函数 2 ind2gray函数 3 mat2gray函数 4 rgb2gray函数 5 rgb2in ...

  9. 枚举类型和各种类型之间转换

    //声明枚举public enum Sesons{春,夏,秋,冬}static void Main(string[] args){Sesons s = Sesons.春;string str=&quo ...

最新文章

  1. Spring mvc参数类型转换
  2. GUI可视化利器,让实时数据可视化so easy
  3. geoserver的api接口_geoserver REST使用
  4. python直接使用pyc_Pyc和pyo是怎样一种存在?
  5. oracle更换rac节点,Oracle-rac 更改VIP地址—2节点的
  6. 自动生成四则运算题目
  7. 《中文分词算法研究》
  8. python嵩天博客_Python学习第二课-MOOC嵩天
  9. flask—本地图片,视频上传
  10. 进击的UI-----------------UITableView(表视图)
  11. zt中俄两军炮兵的差距
  12. 程序员上班摸鱼,这么玩才高端!
  13. 9.3.2另一种计算机器2
  14. ffmpeg 分离视频音频流 缺失sei信息
  15. 如何在CTEX上对论文进行排版
  16. 重新测试Python读Excel文件xlsx的语言编码
  17. php 动态网格,ZBrush中的动态网格该怎么进行运用
  18. 用内存断点找OEP 问题 脱壳时提示无法读取被调试进程的内存 bad dos signature
  19. 金山游戏原“五虎将”今何在?
  20. display指定端口linux,Linux DISPLAY作用

热门文章

  1. boost::stl_interfaces模块实现重复字符迭代器的测试程序
  2. boost::multi_array模块实现在矩阵上测试切片
  3. boost::geometry模块实现自定义点示例
  4. boost::fibers模块实现适配方法调用的测试程序
  5. boost::enable_current_exception用法测试程序
  6. VTK:Utilities之AnimationScene
  7. VTK:PolyData之ConvexHullShrinkWrap
  8. VTK:图片之CombiningRGBChannels
  9. OpenCV用方形棋盘进行相机校准
  10. C语言字符串是否为pallindrome排列的算法(附完整源码)