opencv 学习之图像可调节线性混合

原创 2016年08月30日 18:05:02

最近正在努力学习opencv图像处理,下面是我的程序文件,我用的是opencv2.4.10在vc2010编译的

#include "opencv2/opencv.hpp"
#include <iostream>

using namespace cv;
using namespace std;

#define WINDOW_NAME "TEST"

Mat image;
Mat g_srcImage1;
Mat g_srcImage2;
Mat g_srcImage;
const int g_nMaxAlphaValue=100;
int g_nAlphaValueSlider;
double g_dAlphaValue;
double g_dBetaValue;

void on_Trackbar(int,void*)
{
	g_dAlphaValue=(double) g_nAlphaValueSlider/g_nMaxAlphaValue;
	g_dBetaValue=(1.0-g_dAlphaValue);

	addWeighted(g_srcImage1,g_dAlphaValue,g_srcImage2,g_dBetaValue,0.0,g_srcImage);
	imshow(WINDOW_NAME,g_srcImage);
}
int main(int argc , char** argv)
{
	g_srcImage1=imread("3.jpg");
	g_srcImage2=imread("4.jpg");

	g_nAlphaValueSlider=70;
	namedWindow(WINDOW_NAME,1);
	char TrackbarName[50];
	sprintf(TrackbarName,"alph %d",g_nMaxAlphaValue);

	createTrackbar(TrackbarName,WINDOW_NAME,&g_nAlphaValueSlider,g_nMaxAlphaValue,on_Trackbar);
	on_Trackbar(g_nAlphaValueSlider,0);
	waitKey(0);
	return 0;

}

这是测试后的结果,同过改变线性混合的值,可以改变混合后的效果。

注意:如果程序提示内存错误,请自行把图片的裁剪为大小大小一样的,否则会报错。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OpenCV 学习记录4 ROI区域图像叠加及线性图像混合

ROI区域图像叠加及线性图像混合,作为新人遇到的内存溢出、异常错误原因。

C/C++ OpenCV图像的线性混合

C/C++ OpenCV图像的线性混合

OpenCV入门,线性混合 使用addWeight函数将两幅图像叠加

效果: #include #include using namespace cv; #define WINDOW_NAME "线性混合" const int g_nMaxAlphaVal...

opencv学习(八)之ROI区域和图像混合叠加

1.图像线性混合叠加在进行图像处理时,opencv中提供了addWeighted()实现对两幅图像的叠加。这是一种线性混合操作,其公式如下: 通过改变a的值,可以实现两幅图像或视频进行混合时出现...

OpenCV学习笔记(三)分离颜色通道&多通道图像混合

为了更好的观察一些图像材料的特征,有时需要对RGB三个颜色通道的分量进行分别显示和调整。通过OpenCV的split和merge方法可以很方便的达到目的。分离颜色通道(一)split函数详解作用:将一...

opencv学习笔记(十一)——图像腐蚀和膨胀混合运用练习

图像腐蚀和膨胀混合运用经常应用在图像去噪,和骨架提取等场合。接下来的例子是运用图像腐蚀和膨胀进行去噪的例程: 简单的图像去噪过程就是:先对图像进行腐蚀,然后再进行膨胀。 代码如下:#include...

【OpenCV学习笔记】2.1图像混合和叠加

一、建立域ROI = Region of Interest 方法一:  Mat imageROI = image(Range(行的范围),Range(列的范围)) 方法二:  Mat image...

1.1.0-学习Opencv与MFC混合编程之---全屏截图,保存为BMP图像(并增加快捷键)

源代码:http://download.csdn.net/detail/nuptboyzhb/3961677 Ø  添加全屏截图菜单项,菜单项的属性如下; Ø  为该菜单项建立类向导。 ...

学习OpenCV范例(四)——使用OpenCV对两幅图像求和(求混合(blending))

这个范例相对来说比较简单,简单到在OpenCV的sample里面都没有提供源代码,只能自己复制黏贴tutorial中的代码了,范例中介绍了线性混合操作的原理,和OpenCV提供的 addWeighte...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)