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));
相关文章
|
6月前
|
Java Spring Apache
Spring Boot邂逅Apache Wicket:一次意想不到的完美邂逅,竟让Web开发变得如此简单?
【8月更文挑战第31天】Apache Wicket与Spring Boot的集成提供了近乎无缝的开发体验。Wicket以其简洁的API和强大的组件化设计著称,而Spring Boot则以开箱即用的便捷性赢得开发者青睐。本文将指导你如何在Spring Boot项目中引入Wicket,通过简单的步骤完成集成配置。首先,创建一个新的Spring Boot项目并在`pom.xml`中添加Wicket相关依赖。
163 0
|
9月前
|
域名解析 缓存 网络协议
JavaEE精选-Web组件
JavaEE精选-Web组件
63 1
|
9月前
|
前端开发 JavaScript Java
JavaEE初阶 Day1
JavaEE初阶 Day1
43 0
|
9月前
|
人工智能 编译器 开发工具
【Mojo】AI编程语言Mojo简介
Mojo,一门像 Python 一样简单、像 C++ 一样快速的新编程语言,一门用于构建人工智能应用程序的革命性新编程语言
230 0
|
微服务
【java_wxid项目】【第十二章】【Swagger集成】
【java_wxid项目】【第十二章】【Swagger集成】
110 0
|
前端开发 Java 关系型数据库
EasyCode和Lombok插件的使用,一键生成所需代码(两大代码神器)
📒 程序员小王的博客:程序员小王的博客 🎉 欢迎点赞 👍 收藏 ⭐留言 📝 😊 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
467 0
EasyCode和Lombok插件的使用,一键生成所需代码(两大代码神器)
|
Java API
开发利器Hutool之MapProxy的妙用
开发利器Hutool之MapProxy的妙用
210 0
开发利器Hutool之MapProxy的妙用
|
IDE Java Maven
代码神器——Lombok
代码神器——Lombok
202 0
代码神器——Lombok
|
JSON Java 测试技术
【高效编程】SpringMVC框架如何与Junit整合,看这个就够了
您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧!本文主要介绍在SpringMVC框架整合Junit框架进行单元测试。闲话少述,让我们直入主题。
124 0
|
Java Maven Spring
Java开发神器Lombok使用详解
Java开发神器Lombok使用详解
255 0
Java开发神器Lombok使用详解