zoukankan      html  css  js  c++  java
  • OpenCV 为程序界面添加滑动条

     1 #include <cv.h>
     2 #include <highgui.h>
     3 
     4 using namespace cv;
     5 
     6 /// 全局变量的声明与初始化
     7 const int alpha_slider_max = 100;
     8 int alpha_slider;
     9 double alpha;
    10 double beta;
    11 
    12 /// 声明存储图像的变量
    13 Mat src1;
    14 Mat src2;
    15 Mat dst;
    16 
    17 /**
    18  * @function on_trackbar
    19  * @定义响应滑动条的回调函数
    20  */
    21 void on_trackbar( int, void* )
    22 {
    23  alpha = (double) alpha_slider/alpha_slider_max ;
    24  beta = ( 1.0 - alpha );
    25 
    26  addWeighted( src1, alpha, src2, beta, 0.0, dst);
    27 
    28  imshow( "Linear Blend", dst );
    29 }
    30 
    31 int main( int argc, char** argv )
    32 {
    33  /// 加载图像 (两图像的大小与类型要相同)
    34  src1 = imread("../../images/LinuxLogo.jpg");
    35  src2 = imread("../../images/WindowsLogo.jpg");
    36 
    37  if( !src1.data ) { printf("Error loading src1 
    "); return -1; }
    38  if( !src2.data ) { printf("Error loading src2 
    "); return -1; }
    39 
    40  /// 初始化为零
    41  alpha_slider = 0;
    42 
    43  /// 创建窗体
    44  namedWindow("Linear Blend", 1);
    45 
    46  /// 在创建的窗体中创建一个滑动条控件
    47  char TrackbarName[50];
    48  sprintf( TrackbarName, "Alpha x %d", alpha_slider_max );
    49 
    50  createTrackbar( TrackbarName, "Linear Blend", &alpha_slider, alpha_slider_max, on_trackbar );
    51 
    52  /// 结果在回调函数中显示
    53  on_trackbar( alpha_slider, 0 );
    54 
    55  /// 按任意键退出
    56  waitKey(0);
    57  return 0;
    58 }
  • 相关阅读:
    Don’t Cross 32 GB!
    Kafka 是如何保证数据可靠性和一致性
    水塘抽样(Reservoir Sampling)问题
    实际场景HBase读写设计与实践
    Spark2.3整合kafka010手动管理offset
    周期性清除Spark Streaming流状态的方法
    Spark状态管理State的应用
    Effective C++
    马尔科夫链模型
    非线性规划
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/12171041.html
Copyright © 2011-2022 走看看