问题背景:

使用MFC框架(C++语言)进行图像处理,参考何斌《Visual C++ 数字图像处理(第二版)》中图像几何变换运算部分图像转置的代码。

问题描述:

在进行图像转置操作时,发现部分图片出现在进行转置操作后程序闪退的情况。

原因分析:

首先放出我们实验用的两张图:

图1(宽×高=474×295)

图2(宽×高=300×246)


我们在实验过程中发现图一可以正常地进行转置,而图二在转置时会闪退。

我们观察书中关于图像转置的代码可以发现,其返回值为一个bool类型,原有图像分配的内存空间也并未改变:

而在bmp图像中,图像每行的字节数必须是4的倍速,这就有可能造成转置后图像所需的存储数据比转置前多的情况。
由图一、图二分析可知,图一转置后所占的空间小于原空间,而图二转置后所需空间变大了,故会产生闪退的情况。

解决方案:

我们为转置后的图像重新申请一块空间,并将图像数据存储与这块空间中,最终将该图像的句柄返回,在View函数中更新图像句柄即可。

图像转置时由于内存分配问题造成闪退的解决方案相关推荐

  1. Android 页面跳转时发生双击导致app闪退的解决方案

    在页面跳转时双击双击,查阅了各种资料 尝试一:从双击事件出发,避免双击事件 例如重写onClick事件 public abstract class NoDoubleClickListener impl ...

  2. ENVI 5.3 辐射定标时无法读取Landsat头文件并闪退的解决方案

    ENVI 5.3 辐射定标时无法读取Landsat头文件并闪退的解决方案 问题详情 问题发现的过程 几个思路 1.数据源属于LandsatL2数据,ENVI暂不支持 2.某些数据对64位的支持较差 3 ...

  3. android 呼入电话游戏闪退,安卓手机游戏卡顿、闪退问题解决方案

    安卓手机游戏卡顿.闪退问题解决方案,下面就由去游戏pro小编忆成殇为大家带来安卓手机游戏卡顿.闪退问题解决方案,剑魂之刃闪退.卡顿一直困扰着玩家,那么究竟怎样更好的玩好我们的卡顿及闪退问题呢,下面就随 ...

  4. 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)

    全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解) 参考文章: (1)全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案 ...

  5. 3DMAX输入序列后消失/闪退问题解决方案

    3DMAX输入序列后消失/闪退问题解决方案 遇到3DMAX输入序列后消失/闪退的问题,一般有以下两种解决方案. 1.兼容性修复设置 选择已安装软件,右键打开属性-兼容性-运行兼容性疑难解答-打开疑难解 ...

  6. Mac出现程序闪退的解决方案

    Mac出现程序闪退的解决方案 参考文章: (1)Mac出现程序闪退的解决方案 (2)https://www.cnblogs.com/lyraLee/p/10937161.html 备忘一下.

  7. Eclipse启动时闪退问题解决方案

    当Eclipse启动时出现闪退,可尝试以下几种解决方案: 1.在C:\Windows\System32 系统文件夹中查找,如果存在java.exe, javaw.exe etc.将其删除. 2.打开E ...

  8. Windows下,启动Redis闪退 问题解决方案

    目录 前言 第1步:修改"redis.windows.conf"文件内容 第2步:输入cmd命令,启动Redis 第3步:创建Redis快速启动程序start.bat 前言 解压R ...

  9. Linux Kettle 闪退问题解决方案

    我们在搭建kettle平台时,往往会搭建两种平台,一种win.一种是linux.在windows上进行kettle ETL测试工作,测试成功之后,会发布到linux服务器上,这就出现了一下问题--li ...

最新文章

  1. linux多用户怎么表示,Linux如何建立多用户
  2. XML的简单读取与写入
  3. 十五、插入排序算法(两种方式)
  4. 标准模板库(STL)学习指南之vector向量
  5. Hadoop Map/Reduce的工作流
  6. java open course_关于开闭原则 JavaDiscountCourse 类的设计
  7. Android 的Android Device Monitor 打不开出现 A error has occured
  8. php留言板显示不出,php留言板源代码_php留言代码留言后显示乱码
  9. html/css表单美化
  10. 使用urllib发起请求- urlopen发起请求read/decode/getcode/info/geturl-post请求抽屉网
  11. MongoDB快速学习
  12. Pytorch学习记录(七):自定义模型 Auto-Encoders 使用numpy实现BP神经网络
  13. sqlsugar模糊查询
  14. vue 安装(看图就够了,皮卡皮卡)
  15. Maven 三种archetype说明
  16. LWN:OpenSUSE MicroOS Desktop - 基于Flatpak 的不可更改发行版!
  17. java实现简单的搜索引擎
  18. 四路抢答器c语言程序设计,四路抢答器的文档.pdf
  19. GeekPwn嘉年华:黑客操控POS机 银行卡轻松“易主”
  20. php5的内置数组,php 内置数组(     )可以获取服务器内变量信息。

热门文章

  1. OSPF P2P接口配置arp静态ARP表项
  2. Css标题中图片居中,CSS居中的标题图片
  3. 镶嵌数据集工具小结(九)计算像元大小范围
  4. 杰理-earphone-AC69-中英提示音
  5. python网络编程攻略-Python四大主流网络编程框架
  6. 计算机科学概论第二版笔记,计算机科学概论原版(第九版)
  7. Windows11专业版KMS命令激活(不需要激活工具)
  8. 罗湖致力打造智慧城市标杆区
  9. Python学习笔记:第五站 转圈圈
  10. js的window.print()打印背景图片,打印背景图片无法显示