OpenCV 1.0 cvtexture.cpp bug 修正 内存错误

原创 2011年01月20日 10:17:00

最近项目需要提取图像特征:能量、熵、对比度等等,以对视野当前状态进行简单分类。

 

发现OpenCV上有cvtexture文件,有可用信息。但对其进行调试之后发现,存在一些问题。查阅后,参照http://www.opencv.org.cn/forum/viewtopic.php?f=10&t=8379&p=44545&hilit=cvtexture&sid=eec47a63b50b8e7f07d6fee4030fae8a#p44545进行了简单修改。修改后,问题得到解决,但是感觉结果不对,并且出现内存错误的原因不可能是由于malloc和new的关系。

 

对原始cvTexture.cpp调试之后,发现问题停在函数 icvCreateGLCM_LookupTable_8u_C1R ,感觉是内存分配越界问题。

 

浏览代码后,发下如下几个问题:

1. 函数 cvCreateGLCM 中,在动态创建CvGLCM结构体时:

 

很明显 对动态申请的内存 存在错误, 改动如下:

 

2. 函数icvCreateGLCM_LookupTable_8u_C1R中,创建三维数组时:

 

创建的一维二维数组,cvAlloc的大小都存在问题。更正如下:

 

3. 在函数icvCreateGLCMDescriptors_AllowDoubleNest中使用cvAlloc申请内存,但使用delete[]释放内存,出现错误。

更正如下:

 

 

修正以上三项之后,程序可以得到结果,但是结果的正确性没有验证。

另外,对文件修改完成后,如果新工程没有和OpenCV工程建立依赖关系,需要对OpenCV工程重新编译,生成新的DLL文件。

 

紫书例题 11-6 Uva658 SPFA,血坑

题目链接:https://vjudge.net/problem/UVA-658 题意:补丁在修正bug时,有时也会引入新的bug。假定有n(n≤20)个潜在bug和m(m≤100) 个补丁,每个补...
  • just_sort
  • just_sort
  • 2017年01月29日 17:25
  • 275

OpenCV中的内存泄露问题

FROM: http://hi.baidu.com/whu_hl/blog/item/ca7dd8d11745b623970a16bc.html 在做项目的过程中,使用OpenCV经常会出现一些...
  • b5w2p0
  • b5w2p0
  • 2014年04月27日 20:13
  • 1323

数字图像基础---直方图修正

图像的直方图修正方法主要有直方图均衡化和直方图规定化 直方图修正的目的是,使修正后的图像的灰度间距拉开或者是图像灰度分布均匀,从而增大反差,使图像细节清晰,从而达到图像增强的目的。 直方图均衡化-...
  • u011296723
  • u011296723
  • 2017年03月02日 22:24
  • 495

OpenCv1.0入门(一)-基本数据结构和头文件

作者:cow_boy001 转自:http://blog.csdn.net/cow_boy001/article/details/8286575 OpenCV包含的模块 cv – 核心函数库 c...
  • whw8007
  • whw8007
  • 2014年03月12日 13:30
  • 927

Opencv3编程入门学习笔记(四)之split通道分离Debug过程中0xC0000005内存访问冲突问题

这是笔者学习《Opencv3编程入门》的第四篇博客,这篇博客主要是解决在Windows系统下VS 2013中Debug含有split分离通道色彩函数时报出的0xC0000005内存访问冲突问题,问题表...
  • lgh0824
  • lgh0824
  • 2017年04月13日 16:53
  • 505

OpenCV访问Mat对象中数据时发生异常---Mat中的数据访问

OpenCV访问Mat对象中数据时发生异常---Mat中的数据访问
  • cjc211322
  • cjc211322
  • 2014年05月22日 18:35
  • 1640

IE6 bug终极修正

去年就想将IE的bug系统地整理下,但一直都忙于工作、学习没有完成,看到这篇E文后,我毫不犹豫的放下了手中的工作将之翻译出来。 由于是第一次译文,所以错误在所难免,欢迎大家批评指正。 原文:U...
  • arthur613
  • arthur613
  • 2013年01月18日 16:03
  • 381

dubbo路由bug修正

最近公司要用到dubbo的路由功能做灰度发布,可是路由设置总是不成功。当规则中使用逗号分割多个条件以后,路由规则就失效了。没办法debug源码看看...
  • u013112651
  • u013112651
  • 2017年04月24日 10:58
  • 1211

关于程序员如何减少程序Bug的若干建议

毫无疑问,程序员是善于思考问题的一族。一个程序的编写都是通过:思考、设计、编写、调试、测试以及运行这些基本的阶段。   但大部分程序员都有一个问题就是不太愿意测试自己的代码。他们草草的调式完成以...
  • qq563129582
  • qq563129582
  • 2014年06月29日 17:55
  • 2049

关于h264bitstream的bug修正及完善

最近学习HEVC,参考h264bitstream开源库重新写代码解析码流。在观察H264码流的分析结果时,发现该库分析的结果与商业工具有些不同。经调试发现h264bitstream库实现上有些小问题,...
  • subfate
  • subfate
  • 2015年09月28日 22:50
  • 932
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenCV 1.0 cvtexture.cpp bug 修正 内存错误
举报原因:
原因补充:

(最多只允许输入30个字)