码迷,mamicode.com
首页 > 其他好文 > 详细

图像各种变换

时间:2020-06-10 22:39:29      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:缩放   owa   角度   nal   put   name   for   color   ota   

平移:

  遍历像素即可,也可以用函数[ : , m:n ]

w,h,m= img.shape

dst = np.zeros((w,h,m), np.uint8)

for i in range(w-50):

    for j in range( h-60):

        dst[i+50, j+60] = img[i, j]

dst[0:50,:]=img[0:50,:]

放大缩小:

  依靠函数:cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)

img_test = cv.resize(img, (int(y / 2), int(x / 2)))
cv.namedWindow(
OriginalPicture,cv.WINDOW_FREERATIO)
w,h
=img.shape[0:2]
test
= cv.resize(img,((2*w,2*h)))
cv.namedWindow(
resize,cv.WINDOW_FREERATIO)

旋转:

rows,cols = img.shape
center
=((cols-1)/2,(rows-1)/2)
M
= cv2.getRotationMatrix2D(center,45,1)
#定义旋转矩阵,第一个参数是中心点,第二个参数是旋转角度,第三个参数是缩放比例
dst = cv2.warpAffine(img,M,(cols,rows),borderValue=200)
#进行变换,第一个参数是原图,第二个参数是变换矩阵,第三个参数是变换后的图像尺寸大小,第四个参数可省,为边界填充值,默认为0

变换矩阵法(理论上可以实现本文所有的几何变换):

def change_jvzhen(src1):
    rows,cols = src1.shape
    M = np.float32([[1,0,100],
                    [0,1,500]])#定义变换矩阵,先列再行
    dst = cv2.warpAffine(src1,M,(cols,rows))#仿射变换函数进行变换,第一个参数是原图,第二个参数是变换矩阵,第三个是输出图像的大小

镜像变换:

img1 = cv2.flip(img,1)  #镜像
0表示绕×轴翻转;
1表示绕y轴翻转;
-1表示绕×轴、y轴两个轴翻转。
参数3:
  可选参数。用于设置输出数组

参考链接:https://mp.weixin.qq.com/s/rBROWai8xHh3OtTthFOpsA

 

图像各种变换

标签:缩放   owa   角度   nal   put   name   for   color   ota   

原文地址:https://www.cnblogs.com/fengxiaokang/p/13089573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!