c_cpp 研究opencv3 3.2.1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 研究opencv3 3.2.1相关的知识,希望对你有一定的参考价值。
#include <opencv2./opencv.hpp>
#include "opencv2/highgui/highgui.hpp"
using namespace std;
using namespace cv;
#define WINDOW_NAME "【线性混合示例】" //为窗口标题定义的宏
const int g_nMaxAlphaValue = 100; //Alpha 值的最大值
int g_nAlphaValueSlider; //滑动条对应的变量
double g_dAlphaValue;
double g_dBetaValue;
//声明存储图片的变量
Mat g_srcImage1;
Mat g_srcImage2;
Mat g_dstImage;
void on_Trackbar(int, void*)
{
//求出当前alpha 值相对于最大值的比例
g_dAlphaValue = (double)g_nAlphaValueSlider / g_nMaxAlphaValue;
//则 beta值为1减去alpha 值
g_dBetaValue = (1.0 - g_dAlphaValue);
//根据alpha和beta值进行线性混合
addWeighted(g_srcImage1, g_dAlphaValue, g_srcImage2, g_dBetaValue, 0.0, g_dstImage);
//显示效果图
imshow(WINDOW_NAME, g_dstImage);
}
int main(int argc, char** argv)
{
//加载图像(两图像的尺寸需相同)
g_srcImage1 = imread("1.jpg");
g_srcImage2 = imread("2.jpg");
if (!g_srcImage1.data)
{
printf("读取第1张图片错误,请确认目录下是否有imread函数指定图片存在! \n");
return -1;
}
if (!g_srcImage2.data)
{
printf("读取第2张图片错误,请确认目录下是否有imread函数指定图片存在! \n");
return -1;
}
//设置滑动条初始值 70
g_nAlphaValueSlider = 70;
//创建窗口
namedWindow(WINDOW_NAME, 1);
//在创建的窗口中创建一个滚动条空间
char TrackbarName[60];
sprintf_s(TrackbarName,"透明值 %d",g_nMaxAlphaValue);
createTrackbar(TrackbarName, WINDOW_NAME, &g_nAlphaValueSlider, g_nMaxAlphaValue, on_Trackbar);
on_Trackbar(g_nAlphaValueSlider, 0 );
//按任意键退出
waitKey(0);
return 0;
}
以上是关于c_cpp 研究opencv3 3.2.1的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 研究opencv3 4.3
c_cpp 研究opencv3 3.3
c_cpp 研究opencv3 1.6
c_cpp 研究opencv3 2.6.2
Ubuntu14.04安装opencv3.1和opencv3.3
OpenCV3.1.0+VS2015开发环境配置