【Qt】解决GDAL直接读取数据到QImage导致图像歪斜的问题
QRect intersect_rect;
....
QImage img(intersect_rect.size(), QImage::Format_RGB888);
uchar *pImageData = (unsigned char *)img.constBits();
int img_width = intersect_rect.width();
int img_height = intersect_rect.height();// QImage每行是按照sizeof(int)对齐的,如果在RasterIO时不指定最后一个参数,即行字节数,则图像会歪斜。
int qimg_line_space = ceil((nRastercount * img_width) * 1.0 / sizeof(int)) * sizeof(int);
GDALRasterBand* pBand = m_poDataset->GetRasterBand(i);
pBand->RasterIO(GF_Read,intersect_rect.x(), intersect_rect.y(),sub_img_width, sub_img_height,pImageOffset,sub_img_width, sub_img_height,GDT_Byte,nRastercount,qimg_line_space); // 最后一个参数为0,会歪斜
原因是:QImage每行是按照sizeof(int)对齐的,如果在RasterIO时不明确指定最后一个参数,即行字节数,则图像会歪斜。
歪斜效果:
纠正后效果:
【Qt】解决GDAL直接读取数据到QImage导致图像歪斜的问题相关推荐
- python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像
喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...
- 实用技巧——Python实现从Excel读取数据并绘制成图像
本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...
- GDAL\OGR读取数据示例 C#版本
首先创建一个Windows窗体应用程序,然后拖几个按钮和文本框,如下图所示.第一行用来显示栅格数据的路径,点击浏览找到一个栅格文件,将路径显示在文本框中,然后点击读取,将图像的基本信息显示在最下方的富 ...
- qt有关tcpserver中读取数据时是否使用flush时的研究
tcpserver的读取槽函数如下: recBuffer.append(tcpSocket->readAll());///>缓存接收的数据 tcpSocket->flush(); 我 ...
- c语言读取网页文本内容,从文本文件中读取数据
请问如何用c语言从txt文件中读取数据? 请问如何用c语言从txt文件中读取数据? 就是用空格分开的数据,例如:12//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录 - #in ...
- Python实现从excel读取数据并绘制成精美图像
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Pyth ...
- QT中使用GDAL多线程读取遥感图像到QImage
GDAL 是一个很强大的可以读取很多格式 的带有GIS信息的栅格型图像.前阵子项目中需要读取遥感图像,并显示到QT界面,由于遥感图像一般很大,所以采取新开一个读图线程的方式来读取,防止界面假死.下面是 ...
- 解决QT接受串口数据时数据更新不及时,串口数据太多导致程序界面崩溃,串口接收数据过快等问题
1.问题背景 最近在使用上位机测试传感器接受数据是否正常,发现了很多问题,由于没有系统的学过Qt,用到什么库就学什么库,导致库中的函数很多不清晰,产生了标题中的一系列问题,经过不断的尝试,终于解决上述 ...
- 在QT中结构体快速从二进制文件中读取数据
这可能是一个比较基础的问题,但由于刚开始学习c++,但是对我来说,结构体快速从二进制文件读取数据,给我解决了很大的问题,这里我把方法写出来,和有需要的人分享一下,高手看到了请多包涵. 我的二进制文件是 ...
最新文章
- CSS3 稳固而知新: 居中
- 对linux文件权限的理解,理解linux文件权限2
- 怎么查看服务器是多少位系统,查看服务器是多少位的
- 赋值后页面不渲染_第七节:框架搭建之页面静态化的剖析
- 《中国人工智能学会通讯》——4.32 数据包丢失
- 95-290-360-源码-内存管理-Buffer-ByteBufferPool简介
- 深度学习的推荐模型(DLRMs):设计孪生掩码层高效学习维度自适应的Embedding...
- 多线程android代码,android入门 — 多线程(一)(示例代码)
- 技术简报 2014-1-27
- js一行四个 超过自动换行_干货!零基础学JavaScript要掌握的四个基本常识
- Python进行停用词表去重
- 数据库原理——图书馆管理系统
- JAVA解题【We Are A Team】
- 测试系统工程师TSE的四项基本技能
- Python-OpenCV 的 remap函数
- c语言编程实践题,C语言实践编程题
- 用Lua语言编写Wireshark dissector插件
- “野蛮人”姚振华是如何炼成的?
- HDU 2838 Cow Sorting(双树状数组+求逆序数)
- 【EtherCAT】基础概念
热门文章
- oracle rac理解和用途扩展
- JAVA学习笔记——JAVA基础语法之精华
- 解决input设置背景后,在ie7下浏览内容过长背景跟着滚动
- 家乡的楼房正在往高层发展
- [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
- python中代理模式分为几种_Python设计模式之代理模式实例详解
- mysql 获取昨天凌晨_MySQL慢日志体系建设
- vs生成qt moc文件
- V210 系统时间设置
- CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR区别