OpenCV3读取、写入和保存图像
需要说明的是在OpenCV3中已经将imread()和imwrite()函数转移到imgcodecs模块中,因此读写图像时,需要包含imgcodecs.hpp头文件,但是highgui.hpp头文件中已经包含了该头文件,因此不用再显式包含了。
#include <iostream>
#include <string>
using namespace std;
// OpenCV includes
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, const char** argv)
{
// Read images
Mat color = imread("../images/eating.jpg");
Mat gray = imread("../images/eating.jpg", 0);
// Write images
imwrite("gray.jpg", gray);
// Get same pixel with opencv function
int myRow = color.cols - 1;
int myCol = color.rows - 1;
Vec3b pixel = color.at<Vec3b>(myRow, myCol);
cout << "Pixel Value (B, G, R): ("
<< (int)pixel[0] << ", "
<< (int)pixel[1] << ", "
<< (int)pixel[2] << ")" << endl;
// Show images
imshow("Color Image", color);
imshow("Gray Image", gray);
// Wait for any key
waitKey(0);
return 0;
}
显示的图片效果如下:
OpenCV的详细介绍:请点这里
OpenCV的下载地址:请点这里