当前位置: 首页 > news >正文

网站开发在线课程wordpress表格编辑

网站开发在线课程,wordpress表格编辑,住建局特种作业证,做网站那个好操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算两个2D点集之间的最优仿射变换 estimateRigidTransform 是 OpenCV 中的一个函数,用于估计两个点集之间的刚性变换(即…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

计算两个2D点集之间的最优仿射变换
estimateRigidTransform 是 OpenCV 中的一个函数,用于估计两个点集之间的刚性变换(即平移和旋转)。这个函数在计算机视觉中常用于图像配准、运动估计等任务。

该函数找到一个最优的仿射变换 [A|b](一个 2x3 的浮点矩阵),该变换最佳地逼近两个点集之间的仿射变换。

两个点集

两个栅格图像。在这种情况下,函数首先在 src 图像中找到一些特征,并在 dst 图像中找到对应的特征。之后,问题就简化为第一种情况。
在点集的情况下,问题表述如下:你需要找到一个 2x2 矩阵 A 和一个 2x1 向量 b,使得:
[ A ∗ ∣ b ∗ ] = a r g min ⁡ [ A ∣ b ] ∑ i ∥ dst [ i ] − A src [ i ] T − b ∥ 2 [A^*|b^*] = arg \min _{[A|b]} \sum _i \| \texttt{dst}[i] - A { \texttt{src}[i]}^T - b \| ^2 [Ab]=arg[Ab]minidst[i]Asrc[i]Tb2
其中 src[i] 和 dst[i] 分别是 src 和 dst 中的第 i 个点。[A|b] 可以是任意的(当 fullAffine=true 时),或者具有以下形式:
[ a 11 a 12 b 1 − a 12 a 11 b 2 ] \begin{bmatrix} a_{11} & a_{12} & b_1 \\ -a_{12} & a_{11} & b_2 \end{bmatrix} [a11a12a12a11b1b2]
当 fullAffine=false 时。

函数原型

Mat cv::estimateRigidTransform	
(InputArray 	src,InputArray 	dst,bool 	fullAffine 
)		

参数

  • 参数src:第一个输入的2D点集,存储在 std::vector 或 Mat 中,或存储在 Mat 中的图像。
  • 参数dst:第二个输入的2D点集,与 src 大小和类型相同,或另一个图像。
  • 参数fullAffine:如果为 true,函数将寻找一个没有额外限制的最优仿射变换(6个自由度)。否则,可选择的变换类别仅限于平移、旋转和均匀缩放的组合(4个自由度)

代码示例


#include <iostream>
#include <opencv2/opencv.hpp>using namespace cv;
using namespace std;int main()
{// 创建源图像Mat src_image = Mat::zeros( 300, 300, CV_8UC3 );rectangle( src_image, Point( 50, 50 ), Point( 150, 150 ), Scalar( 255, 0, 0 ), -1 );circle( src_image, Point( 200, 200 ), 50, Scalar( 0, 255, 0 ), -1 );// 创建目标图像Mat dst_image = Mat::zeros( 300, 300, CV_8UC3 );Mat M         = getRotationMatrix2D( Point( 150, 150 ), 45, 1.0 );  // 旋转45度M.at< double >( 0, 2 ) += 50;                                       // 平移50个像素M.at< double >( 1, 2 ) += 50;                                       // 平移50个像素warpAffine( src_image, dst_image, M, dst_image.size() );// 显示生成的图像imshow( "Source Image", src_image );imshow( "Destination Image", dst_image );// 提取特征点vector< Point2f > src_points = { { 50, 50 }, { 150, 50 }, { 50, 150 }, { 200, 200 } };vector< Point2f > dst_points = { { 100, 100 }, { 200, 100 }, { 100, 200 }, { 250, 250 } };// 估计刚性变换矩阵Mat rigid_transform = estimateRigidTransform( src_points, dst_points, false );if ( rigid_transform.empty() ){cerr << "Error: Could not estimate rigid transform." << endl;return -1;}// 输出变换矩阵cout << "Rigid Transform Matrix:\n" << rigid_transform << endl;// 应用变换Mat transformed_image;warpAffine( src_image, transformed_image, rigid_transform, dst_image.size() );// 显示结果imshow( "Transformed Image", transformed_image );waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

http://www.yayakq.cn/news/462605/

相关文章:

  • 怎么向网站添加型号查询功能可以看国外网站的浏览app
  • 网站建设方面论文哈尔滨网络公司营销机构
  • 国外网站国内做好还是国外做wordpress 首页字数
  • 公众号如何做微网站做婚纱网站的图片大全
  • 连江厦门网站建设公司开关网站建设
  • 已有备案号新增网站备案要关闭原先的站点吗电商平台开发系统
  • 河源网站开发上海人才中心
  • 做设计挣钱的网站注册资金1000万实际需要多少钱
  • 宁波有没有开发网站的公司安卓系统开发公司
  • 昆明网站网站建设杭州公司注册多少钱
  • 网站域名备案证书下载百度指数免费查询
  • 魔鬼做交易网站json api wordpress
  • 做网站怎么接私活wordpress 结构
  • 商品网站做推广方案江苏常州网站建设公司
  • 大连网站制作赞ls15227黑龙江牡安建设有限公司网站
  • 苏州网站建设排行北京服务设计
  • 做网站要学多久响应式
  • 如何开网站需要多少钱怎么做线上推广
  • 网站不收录 域名问题扁平化企业网站
  • 酒店微网站建设如何做网站粘贴广告
  • 网站制作软件下载哈尔滨网站快速排名
  • 网站关键字如何做响应式网站好处
  • 官方网站建设银行年利息是多少钱常宁网站建设常宁网站建设
  • wordpress建站页面深圳网站关键词优化排名
  • 咨询网站 获取排名横岗网站建设多少钱
  • 具有价值的网站制作淄博网站制作优化推广
  • 网站kv如何做怎样做医疗网站不违法
  • 天津港电子商务网企业网站优化服务公司
  • 做电商网站的流程pc端网站开发总结
  • 做企业网站的好处诚信网站的申请有几家公司可以做的