表格式数据处理
图片数据处理
常用的主要是opencv和PIL这两个库是,记录一下这两个库的常用方法和区别,从理论上说opencv相对较快
首先说opencv,opencv读取的数据是以numpy方式存储,我们可以使用numpy来操作数据
#img返回的是BGR的三通道
import cv2
import numpy as np
img=cv2.imread('/path',0)#参数0表示读取的是灰度图像 img是numpy类型的一般主要是uint8类型
#分离三个通道的数据
b = cv2.split(img)[0]
g = cv2.split(img)[1]
r = cv2.split(img)[2]
#图像缩放尺寸size_h 表示缩放后图像的横坐标
img=cv2.resize(img,(size_w,size_h),interpolation=cv2.INTER_CUBIC)
#保存图片
cv2.imwrite('./img.png',img)#和很多保存正好相反
#对图像进行选装仿射变化
rows,cols,channel=img.shape
M=np.float32([[1,0,50],[0,1,50]]) #只进行平移变化,移动可以取负值
dst=cv2.warpAffine(img,M,(rows,cols))
#第一个参数为旋转中心,第二个为旋转角度,第三个为旋转后的缩放因子相比于原始图像尺寸倍数mai
M=cv2.getRotationMatrix2D((cols/2,rows/2),45,1)
dst=cv2.warpAffine(img,M,(cols,rows))
#在图像画线,起点终点颜色和线粗细
cv2.line(img, (10,10), (100,100), (225, 0,0),1)
再说说PIL. PIL中最主要的是Image对象.这个对象包含了大部分的处理方法保存读取修改等.
#读取图像
img=Image.open('./path',mode).convert('L') #其中mode表示读取方式,有`'L'`表示灰度,`'RGB'`还有`1`表示二值读取
#将图像转化为numpy矩阵
import numpy as np
img_m=np.array(img)
#从矩阵转化为图像
img=Image.fromarray(img_m)
img.paste((256,256,0),(10,20,30,40))#在(10,20,30,40)区域内填充三个通道颜色
数据增强
图像镜像
def img_flip(image):
# 0以X轴为对称轴翻转,>0以Y轴为对称轴翻转, <0X轴Y轴翻转
horizontally = cv2.flip(image, 0) # 水平镜像
vertically = cv2.flip(image, 1) # 垂直镜像
hv = cv2.flip(image, -1) # 水平垂直镜像
# 显示图形
cv2.imshow("Horizontally", horizontally)
cv2.imshow("Vertically", vertically)
cv2.imshow("Horizontally & Vertically", hv)
旋转
def img_rotation(image):
# 原图的高、宽 以及通道数
rows, cols, channel = image.shape
# 绕图像的中心旋转
# 参数:旋转中心 旋转度数 scale
M = cv2.getRotationMatrix2D((cols / 2, rows / 2), 30, 1)
# 参数:原始图像 旋转参数 元素图像宽高
rotated = cv2.warpAffine(image, M, (cols, rows))
# 显示图像
cv2.imshow("rotated", rotated)
缩放数据
from PIL import Image
img2 = Image.open('../123f.png')
print("初始尺寸",img2.size)
img3=img2.resize((128,128)) #对图像尺寸进行缩放
print("Image.resize",img3.size)
img2.thumbnail((400,400)) #是同比例缩放。
print("默认缩放NEARESET",img2.size)
np.array(img2).shape #WHC
时序数据处理
FEATURED TAGS
c语言
c++
面向对象
指针
容器
python
函数
数据结构
回归
损失函数
神经网络
机器学习
似然函数
极大似然
标准化
深度学习
卷积网络
参数估计
beta分布
数据处理
gradio
模型工程化
网页
模型加速工具
c++实现
变量
占位符
tensorflow
线性回归
学习tensorflow
HMM
RNN
强化学习
LSTM
pandas
不定长序列损失
pytorch
目标检测
RPN
非极大值抑制
ROIpooling
VGG16
Transformer
BERT
Python
装饰器
方法
Pytorch
FPN
图像分类
CNN
多模态
生成
GPT
Tranformer
生成模型
audio