opencv中imwrite的用法
时间: 2023-06-11 12:08:48 浏览: 103
`imwrite()` 是 OpenCV 库中用于将图像保存为文件的函数。它的基本语法如下:
```python
cv2.imwrite(filename, img, params=None)
```
其中,`filename` 是要保存的文件名,`img` 是要保存的图像,`params` 是可选的格式化参数,用于指定保存图像的格式或设置图像的压缩参数。
例如,将一张彩色图像保存为 JPEG 格式的文件,可以使用如下代码:
```python
import cv2
img = cv2.imread('test.jpg')
cv2.imwrite('output.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 90])
```
其中,`IMWRITE_JPEG_QUALITY` 是指定 JPEG 格式的参数,`90` 是 JPEG 的压缩质量,范围为 0 到 100。
除了 JPEG 格式外,`imwrite()` 函数还支持多种图像格式,比如 PNG、BMP、TIFF 等。你可以通过 `cv2.IMWRITE_PNG_COMPRESSION`、`cv2.IMWRITE_BMP_RLE`、`cv2.IMWRITE_TIFF_COMPRESSION` 等参数来指定不同格式的参数。
相关问题
opencv中imwrite函数用法
### 回答1:
imwrite函数是OpenCV中的图像写入函数。该函数可用于将处理后的图像保存到磁盘上的指定路径中。该函数的语法为:cv2.imwrite(filename, image[, params]),其中filename表示文件名,image表示要保存的图像,params表示指定格式等参数。
### 回答2:
在OpenCV中,imwrite函数是一个非常常用的函数,它主要用于将图像保存为文件。imwrite函数的调用格式如下:
```cpp
bool cv::imwrite ( const String & filename, InputArray img, const std::vector< int > & params = std::vector< int >() )
```
其中,filename是要保存的文件名,img是要保存的图像数据,params是可选参数,表示图像保存格式等信息。
imwrite函数支持的图像格式非常多,比如bmp、jpg、png等等,可以设置保存的压缩质量、色彩格式等等。具体可选参数的含义及其取值范围可以查阅OpenCV官方文档。
下面是一个示例代码,展示如何使用imwrite函数将一张图片保存到磁盘上:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取一张图片
Mat img = imread("lena.jpg");
if(img.empty())
{
cout << "failed to open image" << endl;
return -1;
}
// 将图像保存到本地
bool res = imwrite("lena_out.jpg", img);
if(res)
{
cout << "save image successfully" << endl;
}
else
{
cout << "failed to save image" << endl;
}
return 0;
}
```
注意,在使用imwrite函数保存图像时,需要确保保存路径存在,否则会保存失败。因此,我们在程序中应该先检查路径是否存在,如果不存在则尝试创建路径。
### 回答3:
OpenCV是一个广泛用于计算机视觉和图像处理的开源库。其中,imwrite函数是一个常用的函数之一。它的作用是将图像保存到文件中。
imwrite函数的语法如下:
```python
cv2.imwrite(filename, img, [params])
```
参数说明:
- filename:保存文件的名称。
- img:要写入的图像对象。
- params:写入图像时可选的参数。通常这个参数是一个存储图像质量的比例的向量。比如,params=[cv2.IMWRITE_JPEG_QUALITY, 90]表示将图像保存为JPEG格式,且压缩质量为90%。
imwrite函数的返回值为布尔类型。如果保存成功,则返回True,否则返回False。
下面是一些常用的使用示例:
```python
import cv2
# 读取一张图像
img = cv2.imread("test.jpg")
# 将图像保存为PNG格式,使用默认的参数
cv2.imwrite("test.png", img)
# 将图像保存为JPG格式,设置压缩质量为90%
cv2.imwrite("test.jpg", img, [cv2.IMWRITE_JPEG_QUALITY, 90])
```
需要注意的是,imwrite函数只能处理3个通道的图像(即RGB图像),如果图像是单通道或4个通道的,需要先将其转换为3个通道的图像,再使用imwrite函数保存。
另外,imwrite函数并不支持所有的图像格式。常用的格式包括JPEG、PNG、BMP、TIFF等。如果要保存为其他格式,可以使用第三方库,比如Pillow。
opencv里imwrite的具体用法举例
`imwrite`是OpenCV中用于将图像保存到文件的函数,其用法如下:
```python
cv2.imwrite(filename, img[, params])
```
其中,`filename`为保存的文件名,`img`为要保存的图像,`params`为可选参数,用于指定保存图像的格式和质量等。如果未指定,则默认按照JPEG格式保存,质量为95。
下面是一个简单的例子,将一张图像保存为PNG格式:
```python
import cv2
img = cv2.imread('test.jpg')
cv2.imwrite('test.png', img)
```
此代码将读取名为`test.jpg`的图像文件,并将其保存为名为`test.png`的PNG格式文件。
阅读全文