【学习随笔】Opencv 的疑问集

void on_TrackbarNumChange(int, void*);//回调函数
void on_ElementSizeChange(int, void*);//回调函数

     //创建轨迹条
    createTrackbar("腐蚀/膨胀", "【效果图】", &g_nTrackbarNumer, 1, on_TrackbarNumChange);
    createTrackbar("内核尺寸", "【效果图】", &g_nStructElementSize, 21, on_ElementSizeChange);

疑问点:为啥 on_ElementSizeChange作为参数不用写()

有人解答:说on_ElementSizeChange传送的是函数地址,而非函数调用  

void on_TrackbarNumChange(int, void*)
{
    //腐蚀和膨胀之间效果已经切换,回调函数体内需调用一次Process函数,使改变后的效果立即生效并显示出来
    Process();
}


//-----------------------------【on_ElementSizeChange( )函数】-------------------------------------
//        描述:腐蚀和膨胀操作内核改变时的回调函数
//-----------------------------------------------------------------------------------------------------
void on_ElementSizeChange(int, void*)
{
    //内核尺寸已改变,回调函数体内需调用一次Process函数,使改变后的效果立即生效并显示出来
    Process();
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV是一个广泛使用的计算机视觉库,但有时候它的运行速度可能会比慢。为了提升OpenCV的运行速度,可以通过编译OpenCV并添加各种指令优化支持来实现加速。 指令加速是通过利用处理器的特殊指令来优化代码执行速度。不同的处理器支持不同的指令,例如SSE(Streaming SIMD Extensions)、AVX(Advanced Vector Extensions)等。通过使用这些指令,可以在同样的时间内执行更多的操作,从而提高代码的执行速度。 要实现OpenCV的指令加速,可以按照以下步骤进行操作: 1. 确认处理器支持的指令:首先,需要确定你的处理器支持哪些指令。可以通过查看处理器的技术规格或者使用系统工具来获取这些信息。 2. 重新编译OpenCV:根据处理器支持的指令,重新编译OpenCV并添加相应的优化选项。可以参考OpenCV的官方文档或者相关教程来了解如何进行重新编译。 3. 测试加速效果:重新编译完成后,可以通过运行一些OpenCV的代码来测试加速效果。可以比较重新编译前后的运行时间,以及输出结果是否正确来评估加速效果。 需要注意的是,指令加速并不是适用于所有情况的解决方案。在某些情况下,其他优化方法(如算法优化、并行计算等)可能会更有效。因此,在进行指令加速之前,建议先评估是否有其他更适合的优化方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值