測試代碼如下:
1 #include "stdafx.h" 2 #include<opencv2\opencv.hpp> 3 #include<opencv2\highgui.hpp> 4 5 using namespace cv; 6 using namespace cv::ml; 7 8 int main(int argc, char** argv) 9 { 10 cv::Mat image, image_gray; 11 image = cv::imread("C:\\Users\\lzhuc\\source\\repos\\opencvSIFT\\x64\\Debug\\lena.jpg", cv::IMREAD_COLOR); 12 13 cv::imshow("lenna", image); 14 15 cv::cvtColor(image, image_gray, cv::COLOR_BGR2GRAY); 16 cv::imwrite("lenna_gray.jpg", image_gray); 17 cv::waitKey(0); 18 return 0; 19 }
但是執行cv::imshow()時窗口中顯示不出圖像,窗口內時灰色的,且窗口閃退。經檢查,發現了問題所在:是OpenCV的鏈接庫沒有配置正確。如果編譯環境是Debug|x64,則在添加連接器的附加依賴項時,只能添加”帶d“的庫。
只能添加opencv_world340d.lib,不能添加opencv_world340.lib。