python进行图像处理结果分析(147.Python图像预处理操作)

 2024-09-14  阅读 864  评论 0

摘要:在人工智能计算机视觉任务中,经常需要对图像进行预处理操作,比如,在图像分类任务中,我们需要训练图像数据大小一般为:224*224,416*416等,但在实际给的图像数据大小并不是这样的大小,所以需要需要经过预处理。而在模型预测推理中,我们还需要把图像进行归一化处理。以下面几张原始图像为例,来演示图像

在人工智能计算机视觉任务中,经常需要对图像进行预处理操作,比如,在图像分类任务中,我们需要训练图像数据大小一般为:224*224,416*416等,但在实际给的图像数据大小并不是这样的大小,所以需要需要经过预处理。而在模型预测推理中,我们还需要把图像进行归一化处理。

以下面几张原始图像为例,来演示图像的预处理操作缩放和裁剪,图像来源于网络。

python进行图像处理结果分析(147.Python图像预处理操作)(1)

500*705

python进行图像处理结果分析(147.Python图像预处理操作)(2)

500*335

python进行图像处理结果分析(147.Python图像预处理操作)(3)

500*427

python进行图像处理结果分析(147.Python图像预处理操作)(4)

500*397

python进行图像处理结果分析(147.Python图像预处理操作)(5)

500*427

先把图像以短边缩放到224,再以中心裁剪成224*224大小。最后根据需要做归一化处理。

主要定义三个函数:

1、根据短边缩放:ResizeByShort

2、中心裁剪:CenterCrop

3、归一化:Normalize

实现代码

import cv2 import numpy as np import os #根据短边缩放 def ResizeByShort(img,size=224): shortsize=min(img.shape[0],img.shape[1]) #取短边 scale=size/shortsize #缩放比 #计算缩放后的宽度 w=int(img.shape[1]*scale) h=int(img.shape[0]*scale) img=cv2.resize(img,(w,h)) return img #中心裁剪正方形 def CenterCrop(img,size): h,w=img.shape[:2] w0=(w-size)//2 h0=(h-size)//2 img=img[h0:h0 size,w0:w0 size] return img #归一化操作,HWC=>NCWH mean=[0.485, 0.456, 0.406] std=[0.229, 0.224, 0.225] def Normalize(img,mean,std): img=img.astype(np.float32)/255. #BGR>RGB img=img[:,:,::-1] mean=np.array(mean).reshape(1,1,3).astype(np.float32) std=np.array(std).reshape(1,1,3).astype(np.flat32) img=(img-mean)/std # img=np.expand_dims(img,axis=0) # img=np.transpose(img,(0,3,1,2)) return img imgnamelst=["7.jpg","16.jpg","80.jpg","104.jpg","d117.jpg"] imglst=[] for imgname in imgnamelst: fimg=os.path.join("img",imgname) img=cv2.imread(fimg) #根据短边缩放 img=ResizeByShort(img,224) #中心裁剪 img=CenterCrop(img,224) imglst.append(img) imgres=np.hstack(imglst) #图像拼接起来 #print(img.shape) cv2.imshow("img",imgres) cv2.waitKey(0) cv2.destroyAllWindows()

运行结果

python进行图像处理结果分析(147.Python图像预处理操作)(6)

5*(224*224)

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/cec16Cz0EBwkBU10.html

发表评论:

管理员

  • 内容265838
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1014秒, 内存占用1.33 MB, 访问数据库18次