0
這個問題可能看起來含糊不清,但坦率地說,就是這些,我也無法調試這個問題。使用一些OpenCV功能時出現分段錯誤
我正在使用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因爲測試考慮中的.png文件確實有alpha通道。
當我嘗試使用轉置()時也會發生同樣的分段錯誤。這是我曾經寫過的另一個程序。同一個程序在另一臺機器上完美地工作。我一直認爲這個錯誤可能與圖像尺寸不匹配有關,但不幸的是,它不是。
我不確定其他函數返回這個錯誤。我已經卸載從源代碼構建的OpenCV,再次安裝,仍然錯誤仍然存在。我覺得唯一的選擇是留給我的是全新安裝的操作系統,但任何形式的幫助調試這個問題將不勝感激。
您是否嘗試使用gdb來查看段錯誤的來源? –
我剛纔做了,似乎這個問題是關係到OpenCL的。 Backtrace顯示了很多libOpenCL的東西。我記得有時玩過它,但奇怪,因爲我在編譯OpenCV時沒有提到OpenCL。所以我想我只需要擺脫OpenCL並重試。 –
好吧,我會加入這個aswer,讓人們知道你是在良好的軌道:) –