没有合适的资源?快使用搜索试试~ 我知道了~
图片变形(shear,scaling,rotation,flip,translation)
0 下载量 32 浏览量
2020-12-21
07:46:38
上传
评论
收藏 28KB PDF 举报
温馨提示
试读
2页
# -*- coding: utf-8 -*- """ Created on Tue Apr 21 16:07:47 2020 @author: Administrator """ import numpy as np import cv2 import os from matplotlib import pyplot as plt DEFAULT_PRNG = np.random #定义图片转换参数 class TransformParameters: def __init__( self, fill_mode = 'nearest',
资源推荐
资源详情
资源评论
图片变形(图片变形(shear,,scaling,,rotation,,flip,,translation))
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 21 16:07:47 2020
@author: Administrator
"""
import numpy as np
import cv2
import os
from matplotlib import pyplot as plt
DEFAULT_PRNG = np.random
#定义图片转换参数
class TransformParameters:
def __init__(
self,
fill_mode = 'nearest',
interpolation = 'linear',
cval = 0,
relative_translation = True,
):
self.fill_mode = fill_mode
self.cval = cval
self.interpolation = interpolation
self.relative_translation = relative_translation
def cvBorderMode(self):
if self.fill_mode == 'constant':
return cv2.BORDER_CONSTANT
if self.fill_mode == 'nearest':
return cv2.BORDER_REPLICATE
if self.fill_mode == 'reflect':
return cv2.BORDER_REFLECT101
if self.fill_mode == 'wrap':
return cv2.BORDER_WRAP
def cvInterpolation(self):
if self.interpolation == 'nearest': #最近邻插值
return cv2.INTER_NEAREST
if self.interpolation == 'linear': #双线性插值,适合放大图片
return cv2.INTER_LINEAR
if self.interpolation == 'cubic': #4x4像素邻域的双三次插值,适合放大图片
return cv2.INTER_CUBIC
if self.interpolation == 'area': #局部像素重采样,适合缩小图片
return cv2.INTER_AREA
if self.interpolation == 'lanczos4':
return cv2.INTER_LANCZOS4 #8x8像素插值法
#随机转动一定角度
def random_rotation(min, max, prng=DEFAULT_PRNG):
angle = prng.uniform(min, max)
rotation_reslut = np.array([
[np.cos(angle), -np.sin(angle),0],
[np.sin(angle), np.cos(angle), 0],
[0, 0, 1] ])
return rotation_reslut
#随机平移
def random_translation(min, max, prng=DEFAULT_PRNG):
min = np.array(min)
max = np.array(max)
assert min.shape == max.shape
assert len(min.shape) == 1
translation = prng.uniform(min, max)
translation_result = np.array([
[1, 0, translation[0]],
资源评论
weixin_38652636
- 粉丝: 6
- 资源: 896
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功