OpenCV中的cv::imdecode函数是从指定的内存缓存中读一幅图像,而cv::imencode是将一幅图像写进内存缓存中。cv::imread是从指定文件载入一幅图像,cv::imwrite是保存一幅图像到指定的文件中。
cv::imread和cv::imdecode内部都是通过ImageDecoder类来进行图像解码的。cv::write和cv::encode内部都是通过ImageEncoder类来进行图像编码的。
以下是测试代码:
#include "funset.hpp"#include <string>#include <fstream>#include <vector>#include <opencv2/opencv.hpp>int test_encode_decode(){ // cv::imread/cv::imwrite std::string image_name = "E:/GitCode/OpenCV_Test/test_images/1.jpg"; cv::Mat mat1 = cv::imread(image_name,