OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 5474|回复: 5

cvloadimage的内存分配问题

[复制链接]
发表于 2010-11-17 20:24:10 | 显示全部楼层 |阅读模式
本人将EMCV用于seed的dm642,在使用cvloadimage时总是提示内存不够:

OpenCV ERROR: Insufficient memory (Out of memory)
        in function cvAlloc, cxalloc.cpp(60)
Terminating the application...
Assertion failed, (0), file cxerror.cpp, line 352

我试图加大heap及将.system段移至大空间,均无效。请问该如何配置以解决问题?
回复

使用道具 举报

发表于 2010-11-23 09:40:58 | 显示全部楼层

cvloadimage的内存分配问题

本人将EMCV用于seed的dm642,在使用cvloadimage时总是提示内存不够:

OpenCV ERROR: Insufficient memory (Out of memory)
        in function cvAlloc, cxalloc.cpp(60)
Terminating the application...
Assertion failed, (0), file cxerror.cpp, line 352

我试图加大heap及将.system段移至大空间,均无效。请问该如何配置以解决问题?

你要分配多大内存?
只说提示内存不够很模糊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-23 10:17:47 | 显示全部楼层

cvloadimage的内存分配问题

[quote="yyayya":3k561xvu]本人将EMCV用于seed的dm642,在使用cvloadimage时总是提示内存不够:

OpenCV ERROR: Insufficient memory (Out of memory)
        in function cvAlloc, cxalloc.cpp(60)
Terminating the application...
Assertion failed, (0), file cxerror.cpp, line 352

我试图加大heap及将.system段移至大空间,均无效。请问该如何配置以解决问题?

你要分配多大内存?
只说提示内存不够很模糊。[/quote:3k561xvu]

需要载入720*576大小的24位bmp图片,即1.18M。
我的cmd文件如下:

MEMORY
{
  L2 : o = 00000000h l = 00040000h /* all SRAM                     */
  CE01: o = 80000000h l = 00100000h /* external memory   */
  CE02: o = 80100000h l = 00f000000h /* external memory   */
}

SECTIONS
{
    .cinit      >       L2
    .text       >       L2
    .stack      >       L2
    .bss        >       L2
    .const      >       L2
    .data       >       L2
    .far        >       L2
    .switch     >       L2
    .sysmem     >       L2
    .tables     >       L2
    .cio        >       L2
    .capChaAYSpace>    CE01
    .capChaACbSpace>   CE01
    .capChaACrSpace>   CE01
    .disChaAYSpace>    CE02
    .disChaACbSpace>   CE02
    .disChaACrSpace>   CE02
    .external   >      CE02
}
回复 支持 反对

使用道具 举报

发表于 2010-11-29 12:41:51 | 显示全部楼层

cvloadimage的内存分配问题

查看你的map文件,找下面内容,如果length小,说明你的堆栈设置太小了。
没用到bios的话,cmd加 -heap 0x1000000试试,表示堆16M。

ection                                    page     origin           length      
--------                              ----      ----------       ----------   
.SDRAM$heap                    0        80000000    01000000

.stack                                0        81000000    00100000

.tskLoopback$stk                0        81100000    00100000
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-9 16:35:41 | 显示全部楼层

cvloadimage的内存分配问题

问题已解决,新开辟CE3空间将.system段放入,同时设置合理大小heap,在编程时及时释放图像,由此可避免内存不足问题。
回复 支持 反对

使用道具 举报

发表于 2011-5-10 16:39:16 | 显示全部楼层

cvloadimage的内存分配问题

不错,果然解决了这个问题!感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-29 04:29 , Processed in 0.009275 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表