标签: qimage

QImage和QPixmap有什么区别?

我不明白QImage和QPixmap有什么区别,它们似乎提供相同的功能.我什么时候应该使用QImage?何时应该使用QPixmap?

c++ qt qpixmap qimage

74
推荐指数
5
解决办法
3万
查看次数

用QtGui显示QImage

我是Qt的新手,我正在尝试创建一个简单的GUI应用程序,一旦点击按钮就会显示图像.

我可以在QImage对象中读取图像,但是有没有简单的方法来调用Qt函数,该函数将QImage输入作为输入并显示它?

c++ qt qtgui qimage

41
推荐指数
4
解决办法
12万
查看次数

如何将opencv cv :: Mat转换为qimage

我想知道如何将OpenCV C++标准cv :: Mat类型转换为Qimage.我一直在寻找,但没有运气.我找到了一些将IPlimage转换为Qimage的代码,但这不是我想要的.谢谢

c++ qt opencv qimage

38
推荐指数
5
解决办法
5万
查看次数

cv :: Mat到QImage并返回

//对不起我的英语不好.

请告诉我,我做错了什么?我已经阅读了很多关于此的内容.并写一些代码,但我有一个可怕的结果.

据我所知,Opencv CV_8UC3QImage :: Format_RGB888相同,但BRG和RGB除外.

以这种格式阅读cv :: Mat我能做到:

cv::Mat mat1 = cv::imread("bugero.jpg",3); 
Run Code Online (Sandbox Code Playgroud)

所以,要将cv :: Mat转换为QImage,我可以这样做:

QImage Mat2QImage(cv::Mat const& src)
{
     cv::Mat temp(src.cols,src.rows,src.type());
     cvtColor(src, temp,CV_BGR2RGB);
     QImage dest= QImage((uchar*) temp.data, temp.cols, temp.rows, temp.step, QImage::Format_RGB888);
     return dest;
}
Run Code Online (Sandbox Code Playgroud)

我做了临时垫因为我想在QImage中拥有数据副本.

然后.要将其转换回来,我必须这样做:

cv::Mat QImage2Mat(QImage const& src)
{
     QImage temp = src.copy();
     cv::Mat res(temp.height(),temp.width(),CV_8UC3,(uchar*)temp.bits(),temp.bytesPerLine());
     cvtColor(res, res,CV_BGR2RGB); 
     return res;
}
Run Code Online (Sandbox Code Playgroud)

我插入了cvtColor(res,res,CV_BGR2RGB) ; 使用BGR颜色制作cv Mat.我不知道这个函数里面有什么cvtColor(res,res,CV_BGR2RGB) ;但是我决定如果cvtColor(res,res,CV_BGR2RGB); 改变地方R和B,这将使这些颜色的地方变回,因为我没有找到CV_BGR2RGB.

所以,我写了一个简短的示例程序

#include <QApplication>
#include <QtGui>
#include <cv.h>
#include "opencv2/highgui/highgui.hpp"

QImage Mat2QImage(cv::Mat …
Run Code Online (Sandbox Code Playgroud)

c++ qt opencv qimage mat

16
推荐指数
1
解决办法
3万
查看次数

Qt - QImage有没有一种方法可以将Qimage粘贴到另一个Qimage中?

我正在寻找一种方法来简单地将一些粘贴Qimage到更大的一个,从一些给定开始(x,y).现在,我正在逐个像素地复制Qimage.

qt qimage

15
推荐指数
2
解决办法
6994
查看次数

QGraphics场景中的QImage

我对Qt很新.我在插入QImage场景时遇到了麻烦.有人可以告诉我如何添加QImageQGraphicsScene

qt qimage qgraphicsscene

13
推荐指数
1
解决办法
2万
查看次数

QT QImage,如何提取RGB?

我想从QImage中的每个像素中提取RGB.理想情况下,我想使用img.bits()函数.

QImage img;

if( img.load("Red.jpg") )
{
    uchar *bits = img.bits();

    for (int i = 0; i < 12; i++)
    {
        std::cout << (int) bits[i] << std::endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何操纵返回的位?我期待所有的红色,因为图片是在Paint中创建的纯红色图像.但是,我得到36,27,237,255,36等......

c++ qt qimage

12
推荐指数
2
解决办法
2万
查看次数

QImage/QPixmap大小限制?

是否记录了任何已知的尺寸/空间限制QPixmap和/或QImage对象?我没有找到任何有用的信息.我目前在OSX和Windows上使用Qt 4.7.3.特别是我对以下内容感兴趣:

  • 宽度/高度限制?
  • 限制取决于颜色格式?
  • 32/64位机器之间的区别?
  • 关于OS的区别?

我天真地怀疑记忆是唯一的限制因此,人们可以通过计算最大尺寸

width x height x byte_per_pixel

我认为有一个更精细的经验法则; 当你遇到GB尺寸时,32位机器也可能有解决问题.

最后,我希望存储大小约为16000x16000像素的多个RGBA图像,并在a中使用透明度将它们渲染到彼此QGraphicsScene.可用的工作站可以有很多RAM,比方说16GB.

tl; dr:您了解QImage/QPixmap的大小限制,或者我在哪里可以找到此类信息?

编辑:我知道平铺方法,我很好.知道上述事情仍然会很棒.

谢谢!

qt qt4 qpixmap qimage

11
推荐指数
2
解决办法
8698
查看次数

如何检查QImage是否有效?

我想知道是否有办法确定a QImage是否有效.我将该图像显示为像素图QLabel,有时在图像无效时显示.那时它没有显示出来QLabel.

有时无效的原因是图像是从外部数据加载的,有时数据可能会被破坏.

因此,我想知道是否有可能实际确定a QImage是否有效.

c++ qt qtgui qimage

11
推荐指数
1
解决办法
5236
查看次数

在py2exe编译的Python脚本中为QImage启用JPEG支持?

我正在尝试使用PyQt4在Python脚本的QImage对象中使用JPEG图像.

脚本本身运行良好,图像加载,可以操作和渲染,所有.但是,当我尝试用py2exe"编译"这个脚本时,一切都可以工作但JPEG图像.用PNG等效替换它可以工作,但由于我的程序从网上下载图像,它们不会一直是PNG格式,我不能用另一个库将它们全部转换.

我发现QImage的JPEG图像支持以及其他图像格式是由\ qt\plugins\imageformats目录中的一些DLL提供的(它们被称为qjpeg4.dll和qjpeg4d.dll).我想我需要在我的可执行文件中以某种方式使用它们,但我不知道如何.我试过简单地将它们复制到我的exe目录,没有运气.我已经尝试过,如此处所示,将这些文件作为data_files包含在setup.py脚本中,但没有运气(看起来它所做的就是将这些文件复制到exe的目录中,因此无论如何都不会因为手动复制它们而改变它们).

我确定有一些使用PyQt和JPEG图像的应用程序,他们是如何做到的?这似乎是一项微不足道的任务,但我现在仍然坚持下去.

另外,我希望我的应用程序是跨平台的(为什么我还要用Python编写代码?),我希望在打包OS X或Linux时我不会遇到这样的打包问题(它不是唯一的).我会吗?

qt jpeg pyqt py2exe qimage

10
推荐指数
1
解决办法
5897
查看次数

标签 统计

qimage ×10

qt ×10

c++ ×6

opencv ×2

qpixmap ×2

qtgui ×2

jpeg ×1

mat ×1

py2exe ×1

pyqt ×1

qgraphicsscene ×1

qt4 ×1