python - 使用某些 OpenCV 函数时出现段错误

标签 python c++ linux opencv segmentation-fault

这个问题可能看起来很模糊,但坦率地说,这就是我所知道的,我也无法调试这个问题。

我正在使用 Linux Mint,并且已经使用 OpenCV 很长时间了。一切正常,直到几周前。现在,当我尝试进行一些基本转换时,例如转置或 cvtColor,会弹出段错误。我真的不知道这是何时或如何开始发生的。这是返回错误的最小 python 脚本:

import cv2
im1 = cv2.imread("test.png", cv2.IMREAD_UNCHANGED)
im2 = cv2.cvtColor(im1, cv2.COLOR_RGBA2BGR)

为了以防万一,我也在 C++ 中做了同样的事情:

#include <opencv2/imgproc/imgproc.hpp>                                          
#include <opencv2/highgui/highgui.hpp>                                          

int main() {                                                                    
    cv::Mat im1, im2;                                                           
    im1 = cv::imread("test.png", cv::IMREAD_UNCHANGED);                                               
    cv::cvtColor(im1, im2, cv::COLOR_RGBA2BGR);                                 
    return 0;                                                                   
} 

请注意,我使用的是 COLOR_RGBA2BGR,因为考虑中的 test.png 文件确实有 alpha channel 。

当我尝试 transpose() 时也发生了同样的段错误。这是我以前写的另一个程序。同样的程序在另一台机器上运行完美。我一直认为这个错误可能与图像大小不匹配或其他原因有关,但不幸的是,事实并非如此。

我不确定还有哪些其他函数会返回此错误。我已经卸载了 OpenCV,从源代码构建,再次安装,但错误仍然存​​在。我觉得留给我的唯一选择是全新安装操作系统,但非常感谢任何形式的调试此问题的帮助。

最佳答案

这可能与您的操作系统、python 或 C++ 无关。我推荐使用 gdb 来回溯发生段错误的地方;那应该会为您指明正确的方向。

关于python - 使用某些 OpenCV 函数时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41458022/

相关文章:

python - 在 Playwright (Python) 中,当页面上有多个具有相同名称的按钮时,如何选择正确的按钮?

python - 带 SaaS 的集成开发环境

linux - 使用 Amavis 配置第二个内容过滤器

linux - 启动容器进程导致 "exec:\\"tail -f/dev/null\\": stat tail -f/dev/null: no such file or directory

python - 如何在 python 中使用 selenium 提交此表单?

python - 如何在 Python 3 中对列表进行分块?

c++ - 创建函数采用基类指针但调用派生类函数

C++ 程序不会按预期输出

c++ - 在 Windows 上从用户模式程序发送和接收 ARP 数据

linux - 协议(protocol) 2 主机 key 算法错误 '+ssh-dss'