Python+opencv 读取、显示、保存、修改尺寸

环境:

Python 3.6.10
opencv-python 4.2.0.32
Win10

读取并显示图片

opencv

代码:

import cv2
path = "图片路径"
one = cv2.imread(path)
cv2.imshow("img",one)
cv2.waitKey(0)

结果
Python+opencv 读取、显示、保存、修改尺寸_第1张图片
说明:

  1. 如果图片与代码未在一个文件夹下,需要使用图片的绝对路径。如果在一个文件夹下,仅使用图片的名字就好
  2. cv2.imread()默认使用三通道读取图片,如果需要读取灰度图片:cv2.imread(path,cv2.IMREAD_GRAYSCALE).关于cv2.imread更为详细的使用方法请自行查找相关资料
  3. 在使用CV2.imshow()时,一定要记得,它需要接受两个参数!第一个是窗口的名字,第二个是图片。
  4. cv2.waikey()用于设置图片显示的时间,如果设为0,则需要鼠标点击或者空格键才可关闭窗口。时间单位为ms

保存图片

代码:

cv2.imwrite("img.jpg",one)

说明:

  1. 图片保存路径的方式与读取路径的要求一样
  2. 可保存各种图片类型:jpg,png…
  3. 矩阵值应在[0,255]范围内,如果是[0,1]范围内,则存储的照片为全黑。如果遇到这种情况,给矩阵乘以255就行了

修改图片大小

代码:

one = cv2.imread(path)
print(one.shape)
two = cv2.resize(one,(80,50),interpolation=cv2.INTER_AREA)
print(two.shape)
cv2.imshow("img",two)
cv2.waitKey(0)

结果:

(248, 440, 3)
(50, 80, 3)
![resize结果](https://img-blog.csdnimg.cn/20200517095749310.jpg#pic_center)

说明:

  1. cv2.resize(img,dims,interpolation),"img"是图片矩阵,而不是图片路径;“dims”是整数tuple,只能是整数,(长,宽);“interpolation”为像素插值方法,有许多种,详情请自行查找资料
  2. 很容易混淆的一点,当输出图片尺寸的时候,显示的图片格式是(宽,长,高),但是在设置图片resize的尺寸的时候,尺寸设置格式为(长,宽)。我总是在这方面犯迷糊 ̄□ ̄||

你可能感兴趣的:(Python相关)