1、图像的90度旋转:
def rota90(inputimage, isclockwise=False):
"""
图像旋转90度:
isclockwise=True,顺时针
isclockwise=False,逆时针
"""
if type(inputimage)==type(np.array([])):
if len(inputimage.shape)==3:
if isclockwise:
res,inputimage=rota90(inputimage)
if res:
dst= inputimage.reshape(int(inputimage.size/3),3)
dst=np.array(dst[::-1])
dst=dst.reshape(inputimage.shape[0],inputimage.shape[1],inputimage.shape[2])
return True,dst
else:
return False,inputimage
else:
inputimage = inputimage.transpose(1,0,2) #实现行列置换;
inputimage = inputimage[::-1] #实现水平镜像;
return True,inputimage
elif len(inputimage.shape)==2:
if isclockwise:
res,inputimage=rata90(inputimage)
if res:
dst= inputimage.reshape(int(inputimage.size/3),3)
dst=np.array(dst[::-1])
dst=dst.reshape(inputimage.shape[0],inputimage.shape[1],inputimage.shape[2])
return True,dst
else:
return False,inputimage
else:
inputimage = inputimage.transpose(1,0) #实现行列置换;
inputimage = inputimage[::-1] #实现水平镜像;
return True,inputimage
else:
print("wrong image type,must be np.array")
return False,inputimage
原图:,
res,rimg=rota90(img,isclockwise=True)#顺时针90度: ,
res,rimg=rota90(img)#逆时针90度:
2、图像的180度旋转:
def rota180(inputimage):
"""
图像旋转180度
"""
if type(inputimage)==type(np.array([])):
if len(inputimage.shape)==3:
dst= inputimage.reshape(int(inputimage.size/3),3)
dst=np.array(dst[::-1])
dst=dst.reshape(inputimage.shape[0],inputimage.shape[1],inputimage.shape[2])
return True,dst
elif len(inputimage.shape)==2:
dst= inputimage.reshape(int(inputimage.size/1),1)
dst=np.array(dst[::-1])
dst=dst.reshape(inputimage.shape[0],inputimage.shape[1])
return True,dst
else:
print("wrong image type,must be np.array")
return False,inputimage
res,rimg=rota180(img)#180度旋转:
3、图像的水平翻转:
def flipH(inputimage):
"""
图像水平翻转
"""
if type(inputimage)==type(np.array([])):
if len(inputimage.shape)==3:
dst= inputimage.reshape(int(inputimage.size/3),3)
dst=np.array(dst[::-1])
dst=dst.reshape(inputimage.shape[0],inputimage.shape[1],inputimage.shape[2])
return True,dst[::-1]
elif len(inputimage.shape)==2:
dst= inputimage.reshape(int(inputimage.size/1),1)
dst=np.array(dst[::-1])
dst=dst.reshape(inputimage.shape[0],inputimage.shape[1])
return True,dst[::-1]
else:
print("wrong image type,must be np.array")
return False,inputimage
res,rimg=flipH(img):
3、图像的垂直翻转:
def flipV(inputimage):
"""
图像垂直翻转
"""
if type(inputimage)==type(np.array([])):
return True,inputimage[::-1]
else:
print("wrong image type,must be np.array")
return False,inputimage
res,rimg=flipV(img):