基于QT的不同位深图像像素处理方法

—科教导刊(电子版)·2017年第28期/10月(上)—
256
基于QT 的不同位深图像像素处理方法
周恋玲
(武警警官学院
四川·成都610213)
QT 已经在图像处理方面得到了广泛应用,由于计算机系统数据对齐的限制,对不同位深图像的操作需要不
同的方法。本文主要针对QT 中的QImage 类,对不同位深图像的像素值获取方法,以及图像数据类型转化的方法进行了论述。
关键词QT
位深数据对齐像素处理
中图分类号:TP391.41文献标识码:
A 1QT 中的图像类
QT 是一个支持跨平台的C++图形用户界面应用程序开发框架。在QT 中,应用于图像处理方面最为常用的图像类是QImage ,由于它良好的封装,使得人们可以很容易地编写C++代码,对图像数据进行处理,而不用关心底层设计,所以基于QT 的图像处理应用越来越多。由于数字图像有多种数据格式,在进行图像处理时,能够正确地对图像数据进行操作直接影响到整体的图像处理结果。
2QT 中不同位深图像及其数据存储方式
在数字图像的表示中,每个像素用到的数据位数称为图像的位深度,简称位深。常见的数字图像分为以下几种:32位图像、24位图像、8位图像、1位图像。对于彩图像,其颜用R 、
G 、B 分量来表示,32位的图像额外增加了一个Alpha 通道,用于表示图像的透明度;8位图像,则记录的是256种颜的索引值。本文主要讨论32位、24位、8位图像的数据操作及转换方法。
在QImage 类中,32位图像每个像素用4个字节表示,格式为0xAARRGGBB ,表示为QImage::Format_RGB32;24位图像每个像素用3个字节表示,格式为0xBBGGRR ,表示为QImage::Format_888;8位图像每个像素用1个字节表示,记录颜索引值,可以记录256种颜,表示为QImage::Format_Indexed8
图2.1:不同位深图像像素的字节存储方式3不同位深图像的像素处理3.1图像数据对齐
图像的数据是以字节为单位保存的,每一行的字节数必须是4的整数倍,不足的需要在最后进行补0。当图像的宽度不是4的整数倍时,需要使用以下公式进行换算:W=(width*bitcount+31)/32*4
(1)
上述公式中,
width 是图像的宽度,bitcount 是图像的位深(取值为32、24、8等),
W 是在程序中图像每行的实际字节数。3.2构造图像文件在已知图像的长度和宽度时,有时需要自己构造图像数据,可以使用长度和宽度构造一幅空白图像数据,代码如下:
QImage image =QImage (width,height,format );
上式中format 根据图像的位深可以自行选择,
32、24、8位图像对应的格式为QImage::Format_32,QImage::Format_888,QImage::Format_Indexed8。
3.3图像的操作
在对像素进行遍历操作时,将图像看成二维数组,获取到图像的首地址,然后到行下标,再寻列下标,即可进行操作。例如彩图像要获取第i 行,第j 列的像素的红通道值
记为R (i,j ),索引图像获取索引值gray (i,j )。按照32位图像每个像素占4个字节,
24位图像每个像素占3个字节,8位图像每个像素占1个字节的理解,对于不同位深图像的操作代码会写成如下:
R_32=imagebits_32[i *width *4+j *4+2];
R_24=imagebits_24[i *width *3+j *3];gray_8=imagebits_8[i *width +j ];
由于数据需要32位对齐,因此对于32位的图像,上述操作不会有问题,但对于24位和8位的图像,上述操作就会存在问题,当图像的宽度不是4的整数倍时,上述操作无法取到正确的像素通道值。
3.3.1通用方法
为了得到正确的R (i ,j ),采用到公式(1)来重新计算图像数据的实际字节宽度,计算方法如下:W_32=(width *32+31)/32*4;
W_24=(width *24+31)/32*4;W_8=(width *8+31)/32*4;
R_32=imagebits_32[i *W_32+j *4+2];R_24=imagebits_24[i *W_24+j *3];gray_8=imagebits_8[i *W_8+j ];3.3.2QT 中对像素值操作的方法
由于QImage 类提供了很多接口,能更加简便地获取图像的像素值。
方法一:利用数据补齐宽度进行计算。W =image.bytesPerLine ();
R_32=imagebits_32[i *W +j *4+2];R_24=imagebits_24[i *W +j *3];gray_8=imagebits_8[i *W +j ];
(下转第281页)
科|学|技|术

本文发布于:2024-09-21 11:09:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/90302.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   数据   像素   进行   操作   字节
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议