我想以 .jpg格式保存输出图像,因为我使用相同的图像执行另一个代码,这需要.jpg格式的图像。我使用了imwrite函数,它给了我Unhandled exception:访问冲突读取位置。当我试图以.bmp格式保存它时,它工作正常。
我的示例代码来自here:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image;
// LOAD image
image = imread("image1.jpg", CV_LOAD_IMAGE_COLOR); // Read the file "image.jpg".
//This file "image.jpg" should be in the project folder.
//Else provide full address : "D:/images/image.jpg"
if (!image.data) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
//DISPLAY image
namedWindow("window", CV_WINDOW_AUTOSIZE); // Create a window for display.
imshow("window", image); // Show our image inside it.
//SAVE image
imwrite("result.jpg", image);// it will store the image in name "result.jpg"
waitKey(0); // Wait for a keystroke in the window
return 0;
}
此代码也会出现同样的错误。有什么方法我只能以jpeg格式保存图像。
参考:
1. Example表示我们可以将图像保存为.bmp格式
2.我已经下载了openCV 3.0而没有在own上构建它。所以我认为这个解决方案被排除了
3.我的错误类似于this代码。但是这里的解决方案不起作用。
我使用OpneCV 3.0,Visual Studio 2013,Windows 8.1。
得到错误:
感谢您的帮助。