OpenCV学习之旅——滑动条的创建和使用
来源:互联网 发布:lol免费刷皮肤软件 编辑:程序博客网 时间:2024/06/05 20:29
目的:创建滑动条,通过改变滑动条调整参数改变图像性质
函数:creatTrackbar(conststring&trackbarname,conststring&winname,int*value,int count,TrackbarCallback onChange=0,void* userdata=0)
代码示例源于: > OpenCV3 编程入门 第三章
#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>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("读取第一幅图片错误,请确定目录下是否有imread函数指定图片存在~! \n"); return -1; } if( !g_srcImage2.data ) { printf("读取第二幅图片错误,请确定目录下是否有imread函数指定图片存在~!\n"); return -1; } //设置滑动条初值为70 g_nAlphaValueSlider = 70; //创建窗体 namedWindow(WINDOW_NAME, 1); //在创建的窗体中创建一个滑动条控件 char TrackbarName[50]; sprintf( TrackbarName, "透明值 %d", g_nMaxAlphaValue ); createTrackbar( TrackbarName, WINDOW_NAME, &g_nAlphaValueSlider, g_nMaxAlphaValue, on_Trackbar ); //结果在回调函数中显示 on_Trackbar( g_nAlphaValueSlider, 0 ); //按任意键退出 waitKey(0); return 0;}
TIPS:getTrackbarPos(conststring&trackbarname, conststring&winname)可用于获取当前轨迹条的位置并返回。
效果图:
阅读全文
0 0
- OpenCV学习之旅——滑动条的创建和使用
- opencv学习笔记——滑动条的创建和使用
- opencv学习(2)滑动条的创建和使用
- Opencv滑动条的创建和使用
- 【OpenCV笔记 02】OpenCV滑动条的创建和使用——createTrackbar()函数
- opencv学习笔记(5)---- 滑动条的创建和使用
- <opencv>滑动条的创建与使用
- opencv滑动条的创建与使用
- opencv学习日记之创建滑动条和显示混合图片效果
- 【Ubuntu+OpenCV】HighGUI之trackbar(滑动条)的创建--学习笔记【2】
- openCV学习笔记-滑动条的创建和图片的线性混合
- OpenCV之轨迹条(TrackBar)的创建和使用
- C/C++ OpenCV滑动条的创建与使用
- opencv中滑动条的创建与使用
- OpenCV的滑动条使用
- Opencv-滑动条的使用
- Opencv 创建滑动条
- opencv:创建滑动条
- 开启博客之旅
- 1098: 树状数组2(破坏公路)
- 第十三课 创建高级联结
- Linux环境下配置出现下列问题
- 读《大话处理器 》
- OpenCV学习之旅——滑动条的创建和使用
- Codeforces 723D Lakes in Berland
- man的汉化及使用
- 日记(周中)
- linux package
- 第一单元
- 一、Audio 介绍
- Java后台框架篇--Struts之简介
- I