python图像处理常用方法以及可能会遇到的问题
1.图片打开与显示
默认导入名称
import cv2
from PIL import Image
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
问题1、cv2读取的图像用plt.imshow显示时颜色不一致。
原理及解决方案
cv2.imread(‘图片位置’)
所读取的图像格式:每个像素为[B,G,R]的形式,通道值默认范围0-255。
# 可以用cvtColor()函数转换:
img = cv2.imread(path)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
cv2.imshow('窗口名称', '需要显示的图像' )
显示图像:按图像中每个像素为[B,G,R]的规则将图像显示出来。
#代码格式:
cv2.imshow('gray',image)
cv2.waitKey(0) # 是一个和键盘绑定的函数,它的作用是等待一个键盘的输入
cv2.destroyAllWindows() # 销毁我们创建的所有窗口
mpimg.imread('图片位置')
所读取的图像格式:直接返回numpy.ndarray格式通道顺序是[B,G,R]的形式,通道值默认范围0-255。
# 可以用cvtColor()函数转换:
img = mpimg.imread(path)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
plt.imshow('图片')
显示图像:按图像中每个像素为[R,G,B]的规则将图像显示出来
Image.open('图片位置')
用PIL的Image导入图片之后会得到一个Image的对象,且为通道顺序是[B,G,R]的形式。
# 代码例子
img = Image.open(path)
img=np.array(img) # 用np.array()函数转换
cv2.imshow('gray',img)
cv2.waitKey(0) # 是一个和键盘绑定的函数,它的作用是等待一个键盘的输入
cv2.destroyAllWindows() # 销毁我们创建的所有窗口
# 可以通过convert("RGB")函数
img = Image.open(path)
img=img.convert("RGB")
img=np.array(img)
plt.imshow(img)
plt.show()
2.将numpy数组保存为图像
import cv2
import numpy as np
cv2.imwrite(imgpath, array) # imgpath:保存的图片地址,array:numpy数组
3.获取图像分辨率(尺寸)
img = cv2.imread(path)
old_size= img.shape[0:2] # old_size返回图片原始的(h, w)
h, w, ch = np.shape(img) # h,w,ch 即图片的高(列)、宽(行)、通道数?
4.图片缩放(修改尺寸)
cv2.resize('输入图片', '输出图片', '输出图片尺寸', '沿x轴、y轴的缩放系数', '插入方式')
INTER_NEAREST
最近邻插值
INTER_LINEAR
双线性插值(默认设置)
INTER_AREA
使用像素区域关系进行重采样。
INTER_CUBIC
4x4像素邻域的双三次插值
INTER_LANCZOS4
8x8像素邻域的Lanczos插值
image = cv2.imread(path)
cv2.resize(image, (width, high)) # width, high:输出图片尺寸
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)