zoukankan      html  css  js  c++  java
  • 实现multbandblend

    一、首先实现 laplacian金字塔的分割和重构

    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    #include <opencv2/core/core.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/features2d/features2d.hpp>
    #include <opencv2/calib3d/calib3d.hpp>
    using namespace std;
    using namespace cv;
     
     
     
    int _tmain(int argc_TCHARargv[])
    {    
        Mat src = imread("Lena.jpg");    
        src.convertTo(src,CV_32F,1.0/255);
        imshow("src",src);
        /*src.convertTo(src,CV_32F,1/255);*/
        Mat src2src.clone();
        Mat dst;
        Mat lastmat;
        vector<MatvecMats;
        Mat tmp;
        for (int i=0;i<4;i++)
        {
            pyrDown(src2,src2);
            pyrUp(src2,tmp);
            resize(tmp,tmp,src.size());
            tmp = src - tmp;
            vecMats.push_back(tmp);
            src = src2;
        }
        lastmat = src;
        //重建
        
        for (int i=3;i>=0;i--)
        {
            pyrUp(lastmat,lastmat);
            resize(lastmat,lastmat,vecMats[i].size());
            lastmat = lastmat + vecMats[i];
        }
     
        imshow("dst",lastmat);
        waitKey();
        return 0;
    }
    使用工具比对也是完全一样的
    二、实现每个金字塔层面的linearblend
    还有许多需要优化的地方,并且应该去寻找知识的支持。
     
     



  • 相关阅读:
    【XSY2534】【CF835D】Palindromic characteristics 回文自动机
    启发式合并&线段树合并/分裂&treap合并&splay合并
    【XSY2534】【BZOJ4817】树点涂色 LCT 倍增 线段树 dfs序
    线性求逆元
    l1 和l2范数的真实意义
    方向导数及梯度
    大厂实习总结和反思
    高考报考以及心态调整健康贴士
    【骑士走棋盘】
    【老鼠走迷宫一】
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/5562089.html
Copyright © 2011-2022 走看看