gpt4 book ai didi

c++ - 无法使用opencv加载大图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:09:13 26 4
gpt4 key购买 nike

我尝试使用 opencv 加载大小为 100.000 * 15.000 像素且文件大小为 4.305 kb 的图像。如果我使用以下代码加载此图像:

   cv::Mat reallyBigImage = cv::imread("reallyBigImage.png");

我收到以下错误:

Error message

我有一台 32 GB RAM 的电脑,用 64 位编译这个程序。对于这种尺寸的图像,这应该足够了。这么大的图片可以整体加载到opencv吗?

这是我的程序在汇编程序中中断的地方。箭头指示具体位置。此片段来自 memcpy.asm。

    CopyUp:
cmp r8, 128
jbe XmmCopySmall

bt __favor, __FAVOR_ENFSTRG ; check for ENFSTRG (enhanced fast strings)
jnc XmmCopyUp ; If Enhanced Fast String not available, use XMM

; use Enhanced Fast Strings
; but first align the destination dst to 16 byte alignment
mov rax, r11 ; return original destination pointer
mov r11, rdi ; save rdi in r11
mov rdi, rcx ; move destination pointer to rdi
mov rcx, r8 ; move length to rcx
mov r8, rsi ; save rsi in r8
mov rsi, r10 ; move source pointer to rsi
-->rep movsb ; copy source to destination buffer
mov rsi, r8 ; restore rsi
mov rdi, r11 ; restore rdi
ret

最佳答案

运行一些本地测试,这可以用 OpenCV 3.1 重现,但不能用 3.2 或 3.3。这表明这是一个错误(以及您首先遇到访问冲突的事实)。

特别是issue #6317 .

这是在 OpenCV 3.2 发布之前修复的,这将符合上述观察结果。因此,最好的选择是升级您的 OpenCV 拷贝。

关于c++ - 无法使用opencv加载大图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46648545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com