基于python-tensorflow的机器视觉学习手札 (1.2)图像处理篇-几何变换、邻域模板操作

1 图像的几何变换

1.1 平移

matlab里实现很简单,无非就是考虑平移后把溢出的部分剪切掉还是放大整个图像的大小来容纳整个图像而已。。
在python中,以cv2的方法为例:

import cv2
import numpy as np

img = cv2.imread('image.jpg',0)
rows,cols = img.shape

M = np.float32([[1,0,20],[0,1,20]])
dst = cv2.warpAffine(img,M,(cols,rows))

M是一个2*3的矩阵,表示对图像的各种处理,而cv2.warpAffine是综合的图像几何变换函数,功能随M的变换而改变。(有点像matlab中的imtransform,这个本小节后面会说)

1.2 镜像(反转)

镜像分为水平镜像和垂直镜像,像素点对应对称轴对面的相应像素,值做一个交换。这里给出一个matlab子函数实现镜像操作:

function output_image = (imput_image, n)
%参数n 代表镜像方式,1为水平,2为垂直,3为水平垂直
I = imput_image;
[M, N, G] = size(I);
J = I ;
if (n == 1)
    for i = 1:M
        for j = 1:N
            J(i, j, :) = I(M-i+1, j, :);
        end
    end
elseif (n == 2) 
    for i = 1:M
        for j = 1:N
            J(i, j, :) = I(i, N-j+1, :);
        end
    end
elseif (n == 3)
    for i = 1:M
        for j = 1:N
            J(i, j, :) = I(M-i
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值