JavaCV cvEstimateRigidTransform函数使用心得

简介: JavaCV cvEstimateRigidTransform函数使用心得@Date 2018.09.27函数定义对应OpenCV中的estimateRigidTransform函数此函数用作根据变换矩阵对图片进行指定大小的变换Mat e...

JavaCV cvEstimateRigidTransform函数使用心得

@Date 2018.09.27

函数定义
  • 对应OpenCV中的estimateRigidTransform函数
    • 此函数用作根据变换矩阵对图片进行指定大小的变换
    • Mat estimateRigidTransform(InputArray src,InputArray dst,bool fullAffine)
    • src : 变换前的图片关键点
    • dst : 期望变换后的图片关键点
    • fullAffine : 1(全仿射变换), 0(带有约束的仿射变换)
    • 返回值 : 得到变换后的图片MAT
使用场景
  • 项目中实际场景可能为在一张图片中, 切出人脸图片. 但是人脸图片是根据坐标切割, 图片的像素大小是不固定的.
    现在可以根据矩阵变换, 把所有人脸图片归一到指定大小, 比如80 * 80
JavaCV
  • 在JavaCV中参数传递都是以Mat对象传递
  • 需要提前开辟好关键点对象的空间
// pointer存储关键点矩阵信息
Point2f pointerX = new Point2f();
Point2f pointerY = new Point2f();
// 转换pointer到mat
Mat matSrcA = new Mat(3, 2, CV_32FC1, pointerX);
Mat matSrcB = new Mat(3, 2, CV_32FC1, pointerY);

// Javacv中返回值需要提前开辟传入
Point2f cv = new Point2f();
Mat cvEstimateOut = new Mat(2, 3, CV_32FC1, cv);
// 关键点矩阵转换
cvEstimateRigidTransform(new CvMat(matSrcA), new CvMat(matSrcB), new CvMat(cvEstimateOut), 0);

// JavaCV函数 : 根据前后关键点矩阵, 进行指定图片大小的变换
Mat result = new Mat(80, 80, CV_8UC3);
warpAffine(matImage, result, cvEstimateOut, new Size(80, 80));
相关文章
QGS
|
4月前
|
Java easyexcel 关系型数据库
手拉手浅学Springboot+EasyExcel
手拉手浅学Springboot+EasyExcel
QGS
35 1
|
JSON 前端开发 easyexcel
这年头谁还用POI,快来使用国人写的EasyExcel吧,SpringBoot+EasyExcel的快速入门
这年头谁还用POI,快来使用国人写的EasyExcel吧,SpringBoot+EasyExcel的快速入门
这年头谁还用POI,快来使用国人写的EasyExcel吧,SpringBoot+EasyExcel的快速入门
|
Java
带你快速入门 Java开发神器 lombok
在写JavaBean对象时候 每次都要重复Alt+insert写Getter/Setter toString 有参构造 和 无参构造 特别麻烦 浪费时间 今天给大家推荐神器lombok 官方支持的神器 可以帮您省去大量时间 让代码简洁易读
166 0
带你快速入门 Java开发神器 lombok
|
设计模式 算法 搜索推荐
极简代码神器:Lombok使用教程
极简代码神器:Lombok使用教程
126 0
极简代码神器:Lombok使用教程
|
缓存 开发框架 Java
如果有人问你 JFinal 如何集成 EhCache,把这篇文章甩给他
废话不多说,就说一句:在 JFinal 中集成 EhCache,可以提高系统的并发访问速度。 可能有人会问 JFinal 是什么,EhCache 是什么,简单解释一下。 JFinal 是一个基于Java 语言的极速 Web 开发框架,用起来非常爽,谁用谁知道。EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干的特点,用起来非常爽,谁用谁知道。 JFinal 本身已经集成了 EhCache 这个缓存插件,但默认是没有启用的。那怎么启用呢? 请随我来。
|
SQL 前端开发 JavaScript
JFinal上手demo(2)
JFinal上手demo
117 0
JFinal上手demo(2)
|
Java 开发工具 git
|
Web App开发 Java
jfinal搭建(一)
本文为eclipse开发    1、创建Dynamic Web Project 2、填入项目基本信息 注意上图中:Target runtime 一定要选择 3、修改Default Output Folder,推荐输入WebRoot\WEB-INF\classes 特别注意:此处的 Default out folder必须要与 WebRoot\WEB-INF\classes 目录完全一致才可以使用 JFinal 集成的 Jetty 来启动项目。
1616 0