带滚动条的线性混合示例:

 

#include
"stdafx.h"

#include<iostream>

#include<thread>

#include<vector>

#include
<opencv2/core/core.hpp>

#include
<opencv2/contrib/contrib.hpp>

#include
<opencv2/highgui/highgui.hpp>

#include
<opencv2/imgproc/imgproc.hpp>

#include
<opencv2/objdetect/objdetect.hpp>

 

using
namespace cv;

using
namespace std;

 

int g_slider_position = 0;

double alpha = 0.5;

double beta;

Mat src1, src2, dst;

 

void onTrackingbarSlide(int
pos)

{

    alpha = (double)pos / 100;

    beta = (1.0 - alpha);

    addWeighted(src1, alpha, src2, beta, 0.0, dst);

    imshow("Linear Blend", dst);

}

 

int
_tmain(int
argc, _TCHAR* argv[])

{

    double input;

 

    /// Ask the user enter alpha

    std::cout << " Simple Linear Blender " << std::endl;

    std::cout << "-----------------------" << std::endl;

    std::cout << "* Enter alpha [0-1]: ";

    std::cin >> input;

 

    /// We use the alpha provided by the user iff it is between 0 and 1

    if (alpha >= 0 && alpha <= 1)

    {

        alpha = input;

    }

 

    /// Read image ( same size, same type )

    src1 = imread("E:\\myImage\\sql.png");

    src2 = imread("E:\\myImage\\network26.png");

 

    if (!src1.data) { printf("Error loading src1 \n"); return -1; }

    if (!src2.data) { printf("Error loading src2 \n"); return -1; }

 

    /// Create Windows

    namedWindow("Linear Blend", 1);

 

    cvCreateTrackbar("Linear Blend", "Linear Blend", &g_slider_position, 100, onTrackingbarSlide);

 

    beta = (1.0 - alpha);

    addWeighted(src1, alpha, src2, beta, 0.5, dst);

 

    imshow("Linear Blend", dst);

 

    waitKey(0);

    return 0;

}

 

 

原文:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/adding_images/adding_images.html#adding-images

OpenCV 线性混合(4)的更多相关文章

  1. opencv 图像的线性混合

    1 线性混合理论 g(x) = (1-α)*f1(x) + α*f2(x) 其中,α代表图像的权重 #include<iostream> #include<opencv2/openc ...

  2. 线性混合+ROI

    相关代码: #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namesp ...

  3. R语言︱线性混合模型理论与案例探究(固定效应&随机效应)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 线性混合模型与普通的线性模型不同的地方是除了有 ...

  4. OpenCV——ROI截取、线性混合、通道分离、合并、亮度对比度调整

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  5. opencv基于混合高斯模型的图像分割

    #include "stdafx.h" #include <opencv\cv.h> #include <opencv\highgui.h> #includ ...

  6. CUDA跟OpenCV的混合编程,注意OpenCV需要重新编译

    1.注意事项 编译的办法参见: http://blog.csdn.net/wangyaninglm/article/details/39997113   以下是程序代码,网上搜的例子: 注意事项:32 ...

  7. opencv: 线性拟合

    opencv提供了fitline函数用于直线拟合,原型为: C++: void fitLine(InputArray points, OutputArray line, int distType, d ...

  8. opencv学习笔记-图像叠加、混合

    在图像处理中,目标区域定义为感兴趣区域ROI(region of Interest),这是后期图像处理的基础,在获取ROI后,进行一些列的处理.ROI区域在Opencv中就是Rect,先构建Rect, ...

  9. 跟我一起学opencv 第五课之图像的混合

    *理论-线性混合操作 g(x) = (1-α)f0(x)+αf1(x)  α的取值范围位0-1之间  f0(x)为图像1,f1(x)表示第二张图像 α是混合系数   g(x)是生成的图像,对每一个像素 ...

随机推荐

  1. 编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值

    编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值 1 #import <Foundation/Foundation.h>  2   3 int main( ...

  2. iOS 本人必装插件

    本人觉得比较好用也实用的Xcode插件记录: 1. Alcatraz   插件通过它来管理 :    https://github.com/alcatraz/Alcatraz.git 2. Cocoa ...

  3. javaWeb四大域对象

    servletContext Request HttpSession pageContext 详细参考:http://www.tuicool.com/articles/NJfyMrn

  4. 数据库IO简介

    IO有四种类型:连续读,随机读,随机写和连续写,连续读写的IO size通常比较大(128KB-1MB),主要衡量吞吐量,而随机读写的IO size比较小(小于8KB),主要衡量IOPS和响应时间.数 ...

  5. ViewPager部分源码分析二:FragmentManager对Fragment状态的管理完成ViewPager的child添加或移出

    ViewPager维护child代码流程: 注:PagerAdapter 使用的是FragmentPagerAdapter类或者它的子类. viewPager.populate(): void pop ...

  6. htop 源码安装

    htop-1.0.2.tar.gz  http://pan.baidu.com/s/1c1RbdIg tar -xvf htop-1.0.2.tar.gz cd htop-1.0.2 ./config ...

  7. JS中级 - 02:表单、表格

    getElementsByTagName() getElementsByTagName() 方法可返回带有指定标签名的对象的集合. getElementsByClassName() 返回文档中所有指定 ...

  8. 22.访问者模式(Vistor Pattern)

    using System; using System.Collections; namespace ConsoleApplication5 { /// <summary> /// 访问者模 ...

  9. SQL 参数,传入参数和自己申明参数——异常抛出

    ALTER PROCEDURE [dbo].[OA_RemoveProject] @Password nvarchar(30), --这是传入的参数 @ProjectNo nvarchar(8) AS ...

  10. 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...