zoukankan      html  css  js  c++  java
  • OpenCV中的按钮问题

    在HighGUI中,没有显示提供任何形式的按钮。一般有两种方法替代:
    1.用只有两个状态的滑动条来替代按钮。开关(switch)事实上就是只有两个状态的滑动条,这两个状态是on和off。然后通过回调函数来实现相关的功能。
    实例源码(使用滑动条实现一个开关功能)

    #include<cv.h>
    #include<highgui.h>
    
    int g_switch_value = 0;
    
    void switch_off_function() {}
    void switch_on_function() {}
    
    void switch_callback(int position) {
        if (position == 0) {
            switch_off_function();
        }
        else {
            switch_on_function();
        }
    }
    
    int main(int argc, char** argv)
    {
        cvNamedWindow("switch", 1);
        cvCreateTrackbar("Switch", "switch", &g_switch_value, 1, switch_callback);
        while (1) {
            if (cvWaitKey(15) == 27)break;
        }
    }

    结果图为:
    这里写图片描述

    2.另外一个常用的方法是用图像来代替按钮。当触发了鼠标事件,判断鼠标当前位置的(x,y)是否在代表按钮的图像范围内,当(x,y)在图像范围内,按钮事件被触发。在这种情况下,所有的按钮实际上是通过窗口的鼠标回调函数实现的。
    详情请参考《学习OpenCV》

  • 相关阅读:
    js Worker 线程
    C#接口
    C# 委托
    陆金所面试题
    spark-groupByKey
    spark完整的数据倾斜解决方案
    Spark Streaming
    用SparkSQL构建用户画像
    Spring Cloud底层原理(转载 石杉的架构笔记)
    TCC分布式事务的实现原理(转载 石杉的架构笔记)
  • 原文地址:https://www.cnblogs.com/huahai/p/7271060.html
Copyright © 2011-2022 走看看