码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 根据内参调整图像大小


    根据内参进行图像缩放

    公式推导参考:图像缩放后相机内参如何变化的

    注意:直接调用OpenCV对图像进行resize只能改变图像shape,从相机层级出发 应该是根据内参来进行转换的(其中可能涉及 焦距 和 分辨率的调整)。

    设原始相机内参为

    K 1 = [ f x 1 0 u 0 1 0 f y 1 v 0 1 0 0 1 ] K^{1}=\left[

    fx10u010fy1v01001" role="presentation" style="position: relative;">f1x000f1y0u10v101fx10u010fy1v01001
    \right] K1=⎣ ⎡​fx1​00​0fy1​0​u01​v01​1​⎦ ⎤​

    目的相机内参为:

    K 2 = [ f x 2 0 u 0 2 0 f y 2 v 0 2 0 0 1 ] K^{2}=\left[

    fx20u020fy2v02001" role="presentation" style="position: relative;">f2x000f2y0u20v201fx20u020fy2v02001
    \right] K2=⎣ ⎡​fx2​00​0fy2​0​u02​v02​1​⎦ ⎤​

    根据坐标系间的关系:

    [ X c Y c Z c 1 ] = [ R T 0 1 ] [ X w Y w Z w 1 ] \left[

    XcYcZc1" role="presentation" style="position: relative;">XcYcZc1XcYcZc1
    \right]= \left[
    RT01" role="presentation" style="position: relative;">R0T1RT01
    \right] \left[
    XwYwZw1" role="presentation" style="position: relative;">XwYwZw1XwYwZw1
    \right] ⎣ ⎡​Xc​Yc​Zc​1​⎦ ⎤​=[R0​T1​]⎣ ⎡​Xw​Yw​Zw​1​⎦ ⎤​

    Z c [ u v 1 ] = [ f x 0 u 0 0 0 f y v 0 0 0 0 1 0 ] [ R T 0 1 ] [ X w Y w Z w 1 ] Z_{c}\left[

    uv1" role="presentation" style="position: relative;">uv1uv1
    \right] =\left[
    fx0u000fyv000010" role="presentation" style="position: relative;">fx000fy0u0v01000fx0u000fyv000010
    \right] \left[
    RT01" role="presentation" style="position: relative;">R0T1RT01
    \right] \left[
    XwYwZw1" role="presentation" style="position: relative;">XwYwZw1XwYwZw1
    \right] Zc​⎣ ⎡​uv1​⎦ ⎤​=⎣ ⎡​fx​00​0fy​0​u0​v0​1​000​⎦ ⎤​[R0​T1​]⎣ ⎡​Xw​Yw​Zw​1​⎦ ⎤​

    将图像像素坐标 左乘原始相机内参的逆 再左乘目的相机内参 即可:

    [ u 2 v 2 1 ] = [ f x 2 0 u 0 2 0 f y 2 v 0 2 0 0 1 ] [ f x 1 0 u 0 1 0 f y 1 v 0 1 0 0 1 ] − 1 [ u 1 v 1 1 ] \left[

    u2v21" role="presentation" style="position: relative;">u2v21u2v21
    \right]= \left[
    fx20u020fy2v02001" role="presentation" style="position: relative;">f2x000f2y0u20v201fx20u020fy2v02001
    \right] \left[
    fx10u010fy1v01001" role="presentation" style="position: relative;">f1x000f1y0u10v101fx10u010fy1v01001
    \right]^{-1} \left[
    u1v11" role="presentation" style="position: relative;">u1v11u1v11
    \right] ⎣ ⎡​u2v21​⎦ ⎤​=⎣ ⎡​fx2​00​0fy2​0​u02​v02​1​⎦ ⎤​⎣ ⎡​fx1​00​0fy1​0​u01​v01​1​⎦ ⎤​−1⎣ ⎡​u1v11​⎦ ⎤​

    超分辨率重建

    一文掌握图像超分辨率重建(算法原理、Pytorch实现)——含完整代码和数据

  • 相关阅读:
    MYSQL之增删改查(中)
    PHP:枚举基础
    重构: 改善既有代码的设计
    react简易了解
    算法提升 (三)基础数据结构
    多线程与高并发(11)——经典面试题之实现一个容器,提供两个方法,add,size。
    VoLTE基础自学系列 | VoLTE短消息业务概述暨SMS over IP概述
    2022年软件测试面试题大全【含答案】
    【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)
    SNPE教程二:环境搭建和算子支持
  • 原文地址:https://blog.csdn.net/Nismilesucc/article/details/126414660
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号