日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c++(和opencv)如何把局部变量变成全局变量的功能

發布時間:2025/4/5 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++(和opencv)如何把局部变量变成全局变量的功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在開發opencv項目的時候,需求是:視頻實時播放,鼠標點擊某處,新窗口放大播放局部視頻。
這里遇到的問題是:需要用opencv獲取鼠標。
背景:opencv有自帶的鼠標回調函數,而且它的on_Mouse()函數是封裝好的,有五個形參,其中就有鼠標的位置x和y在形參中。
可是 on_Mouse()函數是void型,沒有返回值。

問題轉化為:我需要用on_Mouse()函數有的鼠標位置,傳到另一個函數(要使用的地方)。

解決辦法是:定義兩個全局變量,在on_Mouse()函數內部傳出來。

int X, Y;//鼠標坐標全局變量

下面是opencv自帶的配合鼠標函數的函數on_Mouse()。需要的就是兩個形參

void on_Mouse(int event, int x, int y, int flag, void*ustc) {//形參x,y是鼠標點擊的位置//需要鼠標的位置if (event == CV_EVENT_LBUTTONDOWN){cout << "下面進行鼠標位置的獲取" << endl;cout << "鼠標坐標為:" << x << "和" << y << endl;X = x;//把局部變量傳出來變成全局變量Y = y;} }

在主函數中使用鼠標回調函數

setMouseCallback("src1", on_Mouse, 0);//調用鼠標回調函數 //這里的窗口名稱是src1

記錄一下自己踩得坑。怎么把局部變量傳出來。或者傳出來了,用的時候用錯了。

總結

以上是生活随笔為你收集整理的c++(和opencv)如何把局部变量变成全局变量的功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。