获取图片宽高,若与指定宽高不同,改变图片大小为指定宽高并输出。使用python-OPENCV
时间: 2023-04-09 11:04:55 浏览: 122
可以使用python-OPENCV库中的cv2模块来获取图片的宽高,代码如下:
```
import cv2
img = cv2.imread('image.jpg')
height, width, channels = img.shape
print('图片宽度为:', width)
print('图片高度为:', height)
```
如果需要将图片大小改变为指定宽高并输出,可以使用cv2.resize()函数,代码如下:
```
import cv2
img = cv2.imread('image.jpg')
resized_img = cv2.resize(img, (new_width, new_height))
cv2.imwrite('resized_image.jpg', resized_img)
```
其中,new_width和new_height分别为指定的宽度和高度。
相关问题
python opencv图片大小
可以使用OpenCV中的resize函数来改变图片的大小。具体操作如下:
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 获取原始图片的大小
height, width = img.shape[:2]
# 设置新的图片大小
new_height = 500
new_width = int(new_height * width / height)
# 缩放图片
resized_img = cv2.resize(img, (new_width, new_height))
# 显示缩放后的图片
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.imread`函数用于读取图片,`img.shape`可以获取图片的大小,`cv2.resize`函数用于缩放图片,`cv2.imshow`函数用于显示图片。在设置新的图片大小时,我们可以根据需要调整新的高度,然后按照原始图片的宽高比例计算出新的宽度。
opencv-python例子
### OpenCV-Python 使用示例
#### 图像基本操作
在Python中,OpenCV用于图像处理非常方便。由于图像被表示为NumPy数组,许多操作可以直接通过NumPy完成[^2]。
```python
import cv2
import numpy as np
# 加载彩色图片作为灰度图
img = cv2.imread('messi5.jpg', 0)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码展示了如何加载并显示一张图片。`imread()` 函数用来读取图像文件;第二个参数指定颜色模式,这里设置为 `0` 表示以灰色方式读入。接着使用 `imshow()` 展现图像窗口直到按下任意键关闭它。
#### 获取和修改像素值
对于单通道(即灰度)图像来说,可以通过简单的索引来获取特定位置上的亮度值:
```python
px = img[100, 100]
print(px) # 输出该点的强度值
```
而对于三通道RGB/BGR色彩空间下的图像,则返回的是一个三维向量:
```python
color_img = cv2.imread('messi5.jpg')
bgr_value = color_img[100, 100]
print(bgr_value) # 打印B,G,R三个分量组成的列表
```
还可以直接给定坐标来改变某个像素的颜色或者亮度:
```python
# 修改某一点的颜色/亮度
img[100, 100] = [255]
# 对于多通道图像可以这样改写:
color_img.itemset((100, 100, 2), 255) # 设置红色成分最大
```
以上就是一些基础的操作方法,在实际应用当中可能会涉及到更复杂的变换过程,比如ROI定义、直方图均衡化等高级功能。
#### 处理错误情况
当尝试构建opencv-python包时遇到了失败的情况,可能是环境配置不当或者是依赖项缺失引起的。遇到类似问题应该先确认自己的开发环境中已经正确安装了必要的编译工具链和其他前置条件[^3]。
阅读全文
相关推荐














