opencv中常用的图片压缩和相应的解压缩方法
时间: 2023-05-28 07:03:41 浏览: 81
OpenCV中常用的图片压缩和相应的解压缩方法如下:
1. JPEG压缩和解压缩:OpenCV中的cv::imencode和cv::imdecode函数可以用来对JPEG格式的图片进行压缩和解压缩。
压缩:
```
std::vector<uchar> buffer;
cv::imencode(".jpg", image, buffer);
```
解压缩:
```
cv::Mat image = cv::imdecode(buffer, cv::IMREAD_COLOR);
```
2. PNG压缩和解压缩:OpenCV中的cv::imencode和cv::imdecode函数也可以用来对PNG格式的图片进行压缩和解压缩。
压缩:
```
std::vector<uchar> buffer;
cv::imencode(".png", image, buffer);
```
解压缩:
```
cv::Mat image = cv::imdecode(buffer, cv::IMREAD_COLOR);
```
3. LZ4压缩和解压缩:OpenCV中的cv::LZ4::compress和cv::LZ4::decompress函数可以用来对图像数据进行LZ4压缩和解压缩。
压缩:
```
cv::Mat image = cv::imread("image.jpg");
std::vector<uchar> buffer(image.total() * image.elemSize());
cv::LZ4::compress(image.data, buffer.data(), image.total() * image.elemSize());
```
解压缩:
```
cv::Mat image(height, width, CV_8UC3);
cv::LZ4::decompress(buffer.data(), image.data, height * width * 3);
```