基于opencv图像几何变换和阈值分割

由于最近要制作一个训练集,需要一些图像方面的知识,于是就今天抽了一会儿功夫去学习了图像的几何变换以及阈值分割

几何变换

一般分为外插和内插

我这里一般是默认的内插INTER_LINEAR

1.缩放

void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR );

dsize 不为0时,fx,fy均为0;

dsize为0时,fx,fy均不为0;

2.平移

T=[1 0 tx

     0 1 ty]

Mat M1 = (Mat_<double>(2, 3) << 1, 0, tx, 0, 1, ty);

利用上式构造矩阵

warpAffine(src, dst2, M1, src.size());

利用这个函数进行矩阵的运算,输出为dst2,最后一个参数为图像的大小(后面的很多都基于这种,只是矩阵因子变化)

3.旋转

Mat M2 = getRotationMatrix2D(Point2d(src.cols / 2, src.rows / 2), 45, 1);

利用这个进行构造旋转矩阵,之后利用warp Affine()函数即可

4.倾斜

Th=[1 cot(angle) 0

       0     1           0](水平方向

Ty=[1               0 0

       cot(angle) 1 0](垂直方向)

5.反射

Th=[-1 0 tx      tx:图像的列数(即长度)

       0  1  0]

Th=[1 0  0     tx:图像的行数(即宽度)

       0  -1  ty]

T=[-1 0 tx

    0  -1 ty]

几何变化大致就先看了这么多,已经足够我去增强数据集啦~

代码链接:https://download.csdn.net/download/day_upon/10901508

贴一张反射的图:

 

阈值处理

参考:https://blog.csdn.net/fly108108/article/details/81104330

 

哇,写文章也太累了把,先休息会儿,以后有时间再补充

 

转载请指明出处

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值