0
opencv imwrite在我的C++代碼中打印奇怪的黑色(ish)圖像。一個例子的代碼來讀取圖像,然後打印出來是以下:opencv打印奇怪的黑色圖像
#include "iostream"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
int main()
{
cv::Mat input_image = cv::imread("input_image.tiff",0);
cv::imwrite("output_image.tiff",input_image);
return 0;
}
予編譯爲g++ -std=c++11 main.cc -o bin `pkg-config --cflags --libs opencv`
的輸入圖像和輸出圖像被如下(應該是相同的):
輸入圖像輸出圖像
圖像正在被正確讀取,因爲我通過訪問不同的像素值來檢查它。所以問題在於imwrite。
附加信息:代碼在一開始工作正常,但突然改變了它的行爲,重新安裝opencv和它的庫沒有幫助。
有人能告訴什麼是錯在這裏,
感謝
首先確保您閱讀的輸入圖像是正確的。在窗口中顯示它。即namedWindow(「temp」,input_image); 也嘗試保存在其他格式,如BMP .. – ssh99 2015-03-31 05:48:47
是完整的代碼?看起來有點像使用findContours(它修改輸入圖像!)。 – Micka 2015-03-31 05:49:23
是的,這是完整的代碼。目標是看看imwrite是否工作。是的,就像我在所有情況下運行findContours一樣。 SUSE更新後開始發生,所以我不知道它是否是openCV更新中的錯誤 – Lalit 2015-03-31 18:00:45