导入图片
cv.imread(图片路径,0=灰度 1=tgb);
得到图片的像素numpy矩阵;
import cv2
img =cv2.imread("galaxy.jpg",0) #选则1 rgb or 0 灰度 -1color image(含有transparancy)
#numpy 类型 #灰度0 为二维numpy 代表每个像素的灰度
设置图片大小
cv2.resize(图片矩阵,(宽,高));
可调用img.shape,【0】为高,【1】为宽;
#resized_image=cv2.resize(img,(1000,500)) #重新设置大小 width + height
resized_image=cv2.resize(img,(int(img.shape[1]/2),int(img.shape[0]/2))) #重新设置大小 width + height shape[1],shape[0]
保存图片
cv2.imwrite(保存的路径,保存的图片矩阵);
cv2.imwrite("Galaxy_resized.jpg",resized_image)
显示图片
cv2.imshow(标题,图片矩阵)
cv2.waitKey(时间) 设置执行时间;
cv2.destroyAllWindows() 设置wait时间后的动作——destroy为关闭;
cv2.imshow("Galaxy",resized_image)
cv2.waitKey(0) #0则一直在 2000则显示2000ms
cv2.destroyAllWindows() #设置wait之后的动作
将一个文件夹内的所有图片都变为同一大小
glob.glob(*.jpg) 得到所有jpg图片的路径;
逐个imread此路径;
resize+imshow+waitKey+destroyAllWindows()+imwrite
import cv2
from pathlib import Path
import glob
file_path=glob.glob("sample/*.jpg")
for fpath in file_path:
img=cv2.imread(fpath,1)
resized_img=cv2.resize(img,(100,100))
cv2.imwrite("sample/resized_{}.jpg".format(Path(fpath).stem),resized_img)
cv2.imshow("None",resized_img)
cv2.waitKey(2000) #0则一直在 2000则显示2000ms
cv2.destroyAllWindows() #设置wait之后的动作