OpenCV函数remap详解

OpenCV函数remap详解OpenCV 函数 remap 详解 remap 的作用是将原影像映射到目标影像的函数 这是 OpenCV 文档中的说明 但这个描述给人的感觉是 云里雾里 到底是需要计算目标到原的映射关系 还是原到目标的映射呢 经过我的实验发现是需要给出目标到原的映射关系 即 见下代码原就是 mapx 和 mapy 目标是 i j 即当前像素 Matsrc cpu imread in filename

OpenCV函数remap详解

在这里插入图片描述

在这里插入图片描述
见下代码
原就是mapx和mapy
目标是i,j,即当前像素






 Mat src_cpu = imread(in_filename); cv::Mat mapx, mapy; mapx.create(src_cpu.size(), CV_32FC1); mapy.create(src_cpu.size(), CV_32FC1); //将图像放大2倍 //cv::Mat change = (cv::Mat_ 
  
    (2, 2) << 0.5, 0, 0, 0.5); //顺时针旋转30度 cv::Mat change = (cv::Mat_ 
   
     (2, 2) << 0.866, -0.5, 0.5, 0.866); float a11 = change.at 
    
      (0, 0); float a12 = change.at 
     
       (0, 1); float a21 = change.at 
      
        (1, 0); float a22 = change.at 
       
         (1, 1); float b11 = 1 - change.at 
        
          (0, 0); float b12 = -change.at 
         
           (0, 1); float b21 = -change.at 
          
            (1, 0); float b22 = 1- change.at 
           
             (1, 1); float u0 = src_cpu.size().width / 2 + cx; float v0 = src_cpu.size().height / 2 + cy; for (int i = 0; i 
            
              (j, i) = a11*i + a12*j + u0*b11 + v0*b12; mapy.at 
             
               (j, i) = a21*i + a22*j + u0*b21 + v0*b22; } cv::Mat dst; cv::remap(src_cpu, dst, mapx, mapy, INTER_LINEAR); imshow("img", src_cpu); imshow("undistort", dst); waitKey(0); 
              
             
            
           
          
         
        
       
      
     
    
  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221166.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午6:46
下一篇 2026年3月17日 下午6:47


相关推荐

  • rsyslog日志服务器_php日志系统

    rsyslog日志服务器_php日志系统特性介绍:http://www.rsyslog.com/features/下载: http://www.rsyslog.com/download/本文内容来源于:http://blog.csdn.net/xiangliangyu2008/article/details/8102064===========================

    2022年8月15日
    8
  • solidworks第三方插件_使用方法

    solidworks第三方插件_使用方法前言mixins翻译成中文是混入,组件的意思。在DRF中,针对获取列表,检索,创建等操作,都有相应的mixin,一般我们自定义创建的类视图都会继承自GenericAPIView和Mixins一起使用

    2022年7月31日
    12
  • 虹科案例|下一代航空航天电子真的需要TSN吗?—以直升机为例(一)

    虹科案例|下一代航空航天电子真的需要TSN吗?—以直升机为例(一)以太网迅速取代传统网络 成为航空电子设备和任务系统中的核心高速网络 基于此背景 本文以直升机为例 探讨了时间敏感网络 TSN 在航空电子设备上应用的技术优势问题 事实上 TSN 已经成为一个具有丰富的机制和协议的工具箱 可用于解决与时间和可靠性相关的服务质量 QoS 需求 TSN 正在迅速成为各种应用领域 如汽车 工业 4 0 和电信 有线高速通信的重要技术 在此背景下 本文研究了代表下一代系统的通信需求 探讨了 TSN 定时 QoS 机制在直升机航空电子设备和任务系统中的应用

    2026年3月17日
    2
  • windows10查看端口被占用_win10端口被占用怎么解决

    windows10查看端口被占用_win10端口被占用怎么解决1、查看windows所有端口进程同时按下Win+R,接着在对话框中输入“cmd”,按下回车键打开命令提示符窗口,然后在窗口中输入netstat-ano按下回车键,之后就会显示所有的端口占用情况。2、如果是要查询指定的端口占用情况的话,可以在命令提示符窗口中继续输入netstat-aon|findstr”提示的端口”这里的提示的端口假设为8080,那么就输入命令netstat-aon|findstr”8080″按下回车键之后就可以看见列表中的PID然后.

    2022年7月27日
    21
  • 飞牛NAS本地化部署n8n打造个人AI工作流中心

    飞牛NAS本地化部署n8n打造个人AI工作流中心

    2026年3月14日
    2
  • JAVA里面的堆栈区别

    JAVA里面的堆栈区别一 内存分配的策略 nbsp nbsp nbsp nbsp nbsp 按照编译原理的观点 程序运行时的内存分配有三种策略 分别是静态的 栈式的 和堆式的 nbsp nbsp nbsp nbsp 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求 因而在编译时就可以给他们分配固定的内存空间 这种分配策略要求程序代码中不允许有可变数据结构 比如可变数组 的存在 也不允许有嵌套或者递归的结构出现 因为它们都会导致编译程序无法计算准确的

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号