opencv压缩图像到指定尺寸
时间: 2023-08-01 07:07:00 浏览: 58
你可以使用OpenCV中的resize函数来压缩图像到指定尺寸。该函数接受源图像、目标图像大小以及插值方法等参数。
下面是一个示例代码片段,将图像压缩到指定尺寸:
```
import cv2
# 读取原始图像
img = cv2.imread('image.jpg')
# 指定目标图像大小
target_size = (640, 480)
# 使用resize函数进行图像压缩
resized_img = cv2.resize(img, target_size, interpolation=cv2.INTER_AREA)
# 保存压缩后的图像
cv2.imwrite('resized_image.jpg', resized_img)
```
在上述示例中,源图像是通过cv2.imread函数读取的。然后,使用cv2.resize函数将图像压缩到640x480的大小,并使用cv2.imwrite函数保存压缩后的图像。
相关问题
用opencv压缩图像
在使用OpenCV压缩图像之前,我们需要先安装OpenCV库并导入相关模块。以下是一个简单的Python程序,演示如何使用OpenCV压缩图像:
```python
import cv2
# 读取图像
img = cv2.imread('test.jpg')
# 显示原始图像
cv2.imshow('Original', img)
# 压缩图像
compressed_img = cv2.imencode('.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 50])[1]
# 解压缩图像
decompressed_img = cv2.imdecode(compressed_img, cv2.IMREAD_COLOR)
# 显示解压缩后的图像
cv2.imshow('Decompressed', decompressed_img)
# 等待按键
cv2.waitKey(0)
# 关闭窗口
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读取一张图像并显示它。然后,我们使用`cv2.imencode()`函数将图像压缩成JPEG格式,并指定压缩质量为50。注意,`cv2.imencode()`函数返回一个元组,其中第一个元素是一个布尔值,表示是否成功将图像编码为指定格式,第二个元素是一个字节数组,即压缩后的图像。
接下来,我们使用`cv2.imdecode()`函数将压缩后的图像解码成OpenCV可识别的格式,并将其显示出来。最后,我们等待按键,然后关闭窗口。
需要注意的是,压缩质量越低,压缩后的图像文件越小,但图像质量也会越低。因此,在实际应用中,我们需要根据实际需求选择合适的压缩质量。
在linux中用opencv压缩图像
在Linux中使用OpenCV压缩图像,可以通过以下几个步骤实现:
1. 导入OpenCV库
使用以下命令导入OpenCV库:
```python
import cv2
```
2. 加载图像
使用cv2.imread()函数加载图像:
```python
img = cv2.imread("test.jpg")
```
3. 压缩图像
可以使用cv2.imencode()方法将图像压缩为指定格式:
```python
# 压缩为JPEG格式,压缩质量为60%
encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 60]
ret, data = cv2.imencode('.jpg', img, encode_param)
```
其中,encode_param是一个列表,第一个元素指定压缩格式,第二个元素指定压缩质量(如果不指定,默认为95)。
4. 写入压缩后的图像
将压缩后的数据写入文件中:
```python
with open("test_compressed.jpg", "wb") as f:
f.write(data)
```
其中,"test_compressed.jpg"是压缩后的图像文件名。
完整代码示例:
```python
import cv2
img = cv2.imread("test.jpg")
# 压缩为JPEG格式,压缩质量为60%
encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 60]
ret, data = cv2.imencode('.jpg', img, encode_param)
with open("test_compressed.jpg", "wb") as f:
f.write(data)
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)