zoukankan      html  css  js  c++  java
  • opencv之重映射

    好久没写呆码了

    今天发个重映射 

    #include "opencv2/video/tracking.hpp"
    #include "opencv2/imgproc/imgproc.hpp"
    #include "opencv2/highgui/highgui.hpp"
    #include <iostream>
    #include <ctype.h>
    #include<stdlib.h>
    #include<stdio.h>
    #include<math.h>
    #include<opencv2/opencv.hpp>
    #include<string.h>
    #include<vector>
    using namespace cv;
    using namespace std;
    
    
    
    /*****************************************************重映射****************************************/
    
    
    int main()
    {
        //【0】变量定义
        Mat srcImage,dstImage,img;
        Mat map_x, map_y;
        VideoCapture capture(0);
        while (1)
        {
            //【1】载入原始图
            capture >> srcImage;
            imshow("原始图", srcImage);
            //【2】创建和原始图一样的效果图,x重映射图,y重映射图
            dstImage.create(srcImage.size(), srcImage.type());
            map_x.create(srcImage.size(), CV_32FC1);
            map_y.create(srcImage.size(), CV_32FC1);
            //【3】双层循环,遍历每一个像素点,改变map_x & map_y的值
            for (int j = 0; j < srcImage.rows; j++)
            {
                for (int i = 0; i < srcImage.cols; i++)
                {
                    //改变map_x & map_y的值. 
                    map_x.at<float>(j, i) = static_cast<float>(i);
                    map_y.at<float>(j, i) = static_cast<float>(srcImage.rows - j);
                }
            }
            remap(srcImage, dstImage, map_x, map_y, INTER_LINEAR, BORDER_CONSTANT, Scalar(0, 0, 0));
            imshow("【程序窗口】", dstImage);
            waitKey(1);
        }
        return 0;
    }
  • 相关阅读:
    QTP知识总结(一)
    QTP中DataTable操作大全
    QTP DataTable全攻略(1)
    QTP脚本不能录制怎么办?
    每天一个linux命令(20):find命令之exec
    bash下几个替换运算符的区分
    linux_shell 特殊符号的介绍
    Linux dirname、basename 指令
    Liunx readlink命令
    微信公众账号开发教程(四)自定义菜单(转)
  • 原文地址:https://www.cnblogs.com/Loving-Q/p/11985380.html
Copyright © 2011-2022 走看看