QT 二维数组转BMP BMP转二维数组 QImage转二维数组 的简便方法

6 篇文章 3 订阅
本文介绍了如何使用QT库将二维ushort数组转换为BMP图像,并将BMP图像转换回二维数组。首先,通过QImage和QPixmap将二维数据转化为BMP图片并保存。然后,通过加载BMP图片,获取每个像素的颜色,计算灰度值,从而得到二维矩阵。这种方法适用于灰度图像处理场景。
摘要由CSDN通过智能技术生成

QT 二维数组转BMP BMP转二维数组 QImage转二维数组 的简便方法

1.问题的由来

因为领导的突发奇想想要将二维数组转换成图片,然后用画图工具修改后在转换为二维数组,我不得不把二维数组转化成BMP图片,然后在吧BMP格式图片转换为二维数组。

此处我使用的原始数据为 ushort 类,图像化后为灰度图。

2.二维矩阵 转 BMP图像

思路:二维数据 > QImage > QPixmap 保存

QImage images = QImage(/*char* 原始图像数据*/, 2400, 1920, QImage::Format_Indexed8);
QPixmap pix = QPixmap::fromImage(images);
pix.save(/*BMP图像 保存路径+文件名.bmp*/);
3.BMP图像 转 二维矩阵

思路:QImage加载BMP图片 > QImage获取像素颜色 > 计算灰度得到数值

	QImage qTemp;
	qTemp.load(/*BMP 图片路径*/);
	
	ushort* qimage = new ushort[qTemp.width()*qTemp.height()];
	
	QRgb qTempCol;
	for (size_t i = 0; i < qTemp.width(); i++)
	{
		for (size_t j = 0; j < qTemp.height(); j++)
		{
			qTempCol = qTemp.pixel(i, j);
			qimage[j*qTemp.width() + i] = qGray(qTempCol);
		}
	}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值