博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaCV cvEstimateRigidTransform函数使用心得
阅读量:6231 次
发布时间:2019-06-22

本文共 958 字,大约阅读时间需要 3 分钟。

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到matMat 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));

转载地址:http://fphna.baihongyu.com/

你可能感兴趣的文章
为什么C++中空类和空结构体大小为1?(转载)
查看>>
jQuery判断checkbox是否选中的3种方法
查看>>
我在这里3在引发众1.8万的经验分享
查看>>
关于ajax的同步和异步
查看>>
【UWP】FlipView绑定ItemsSource,Selectedindex的问题
查看>>
MySQL----information-schema数据库相关权限的说明。
查看>>
转:Tortoise SVN 版本控制常用操作知识
查看>>
PHP模拟发送POST请求之四、加强file_get_contents()发送POST请求
查看>>
Codeforces Round #192 (Div. 1) C. Graph Reconstruction 随机化
查看>>
[Unity3d][NGUI]打包NGUI预制件成Assetbundle 两种思路.
查看>>
SSO 基于Cookie+fliter实现单点登录(SSO):工作原理
查看>>
golang笔记——IDE
查看>>
专注力的一点体会
查看>>
安装CentOS 7时出现No Caching mode page found问题的解决
查看>>
iOS开发UI篇—Quartz2D使用(绘图路径)
查看>>
esnext:Function.prototype.toString 终于有规范了
查看>>
nginx源代码分析--从源代码看nginx框架总结
查看>>
Arcgis for Js实现graphiclayer的空间查询
查看>>
3.2 re--正則表達式操作(Regular expression operations)
查看>>
HDU 1018 Big Number (log函数求数的位数)
查看>>