将图像读入数组或矩阵
Reading image to an array or matrix
我是一个c++新手。我用它来处理图像。我的基本想法是加载图像并将像素值或强度存储到矩阵或数组中,以便我可以对它们进行进一步的操作。
那么,到目前为止我所做的就是
QPixmap pixmap("lena.bmp");
pixmap = pixmap.copy(512,512,128,128);
pixmap = pixmap.scaled(32,32);
QImage image = pixmap.toImage();
QRgb col;
int g;
int width = pixmap.width();
int height = pixmap.height();
matrix<double> m(width,height);
for (int j = 0; j < m.size2(); j++)
{
for (int i = 0; i < m.size1(); i++)
{
col = image.pixel(i,j);
g = qGray(col);
image.setPixel(i,j,qRgb(g,g,g));
m(i,j) = (image.pixel(i,j));
}
}
例如,我在Qt中使用Qpixmap读取图像,并使用boost生成数据矩阵。
但是有没有其他更简单的方法来读取图像并将其存储在矩阵中?然后执行操作,然后将新的操作矩阵显示为图像?
您可以使用OpenCV库,其中图像默认表示为矩阵。OpenCV在图像处理方面非常流行,并且有许多特性。您可以在这里获取一个在OpenCV中将图像加载到矩阵的示例:http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html
相关文章:
- VTK 图像数据,访问数组中的 1 个图像
- OpenCv 在C++中从 1 D 数组制作垫子图像的最快方法
- 如何将 2d 数组转换为 svg 或 png 格式的数独图像?
- 从 numpy 数组获取指针以将图像发送到C++
- 如何使用 WIN RPC 发送终止的字符数组(用于将图像从客户端上传到服务器)
- 使用几何着色器的图层渲染似乎只输出图像数组的第一层
- 如何将图像的字节数组(取自 s3)转换为 C++ 或 C 中的图像/图像对象
- 将 JPG 编码数组从 ROS sensor_msgs/压缩图像保存到 roscpp 中的文件
- 如何将张量转换为图像数组
- 在 qml 中从字节数组加载到图像
- OpenCV:将图像转换为C++数组
- 如何将OpenCV的Mat结构的部分图像矩阵加载到我自己的3x3数组中?
- 如何将 opencv 中的图像数组传递给函数
- C 图像处理数据块进入数组 /指针
- 如何从未签名的char*数组中获取JPEG图像数组
- 从字节数组快速转换为图像,QT可以以形式显示
- C++图像处理 - 将图像文件读入 2D 数组
- C - 将多个图像放在数组指针中
- C++ 图像数组类型
- 使用命名(fifo)管道在python和c++之间传输数组(图像)