這一陣做了冷板凳。蛋有淡淡的憂傷。開始嚇唬鬧ing....................
需求:有時候坐在離滑鼠比較遠的地方(比如推到沙發上)看網頁,看電影要用滑鼠去控制,還得蹭過去。寫個用握拳揮動來控制滑鼠移動,用掌來開啟檔案的程式。
打算到時候可以移到自家android電視上去。
困難:之前也沒有寫過c 語言程式(還讀書的時候考級用過),開始看opencv 更是霧水,還好 「凡是不決問狗狗」。順便蛋傷下:狗狗提供的不只是口糧,還有思想。
,另外,我想寫乙個基於中實物分類的程式,作用是可以從網上自動down ,然後按照要的分類 比如 鮮花 或者 狗狗 來自動儲存和分類。 爬蟲 儲存 ,分類和展示 用 jsoup ,mongo gridfs, spring mvc 和 js 已完成。準備訓練大量的不同事務的分級檔案。有興趣多交流。
下面是**
大概步驟
0、在系統檢視的方法是 cat /proc/bus/input/devices 就可以看到每個eventx是什麼裝置的事件了
2、看有沒有 手掌 (雙擊) 和拳頭移動(滑鼠移動),有的化就處理。
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
void mousemove(int fd, int x, int y);
void mousedoubleclick(int fd);
void fist(mat frame);
void palm(mat frame);
void *thread1(void *);
struct mypoint else else else else {
palmcount++;
if (palmcount > 5) {
palmcount = 0;
xarray = 0;
yarray = 0;
//滑鼠移動
void mousemove(int fd, int x, int y) {
struct input_event event;
memset(&event, 0, sizeof(event));
gettimeofday(&event.time, null);
event.type = ev_rel;
event.code = rel_x;
event.value = x;
write(fd, &event, sizeof(event));
event.type = ev_rel;
event.code = rel_y;
event.value = y;
write(fd, &event, sizeof(event));
event.type = ev_syn;
event.code = syn_report;
event.value = 0;
write(fd, &event, sizeof(event));
//滑鼠左鍵雙擊
void mousedoubleclick(int fd) {
struct input_event event;
memset(&event, 0, sizeof(event));
gettimeofday(&event.time, null);
event.type = ev_key;
event.code = btn_left;
event.value = 1;
write(fd, &event, sizeof(event));
event.type = ev_key;
event.code = btn_left;
event.value = 0;
write(fd, &event, sizeof(event));
event.type = ev_key;
event.code = btn_left;
event.value = 1;
write(fd, &event, sizeof(event));
event.type = ev_key;
event.code = btn_left;
event.value = 0;
write(fd, &event, sizeof(event));
event.type = ev_syn;
event.code = syn_report;
event.value = 0;
write(fd, &event, sizeof(event));
//當滑鼠雙擊後會觸發這個執行緒 ,這個執行緒的左右是 防止重複的雙擊
void *thread1(void *) {
cout << "fist:" << "waitfist begin! double click" << endl;
waitfist = true;
waitpalm = true;
usleep(100 * 1000);
waitpalm = false;
usleep(200 * 1000);
cout << "fist:waitfist end!" << endl;
waitfist = false;
用css控制滑鼠樣式
用css控制滑鼠樣式的語法如下 文字或其它頁面元素 把 換成如下15個效果的一種 下面是對這15種效果的解釋。移動滑鼠到解釋上面,看看你的滑鼠起了什麼變化吧!hand是手型 pointer也是手型,這裡推薦使用這種,因為這可以在多種瀏覽器下使用。crosshair是十字型 text是移動到文字上的那...
python實現鍵盤控制滑鼠移動
玩qq桌球遊戲時,有時候用滑鼠控制滑鼠指標的微小移動比較費勁兒,所以想寫個程式,可以用鍵盤的上下左右鍵來控制鼠程式設計客棧標的移動,每次只移動乙個畫素。本指令碼依賴pywin32 pyhook和pymouse這兩個庫,請自行安裝。中的www.cppcns.compythoncom是pywin32程式...
用css控制滑鼠樣式語法
文字或其它頁面元素 把 換成如下15個效果的一種 下面是對這15種效果的解釋。移動滑鼠到解釋上面,看看你的滑鼠起了什麼變化吧!hand是手型 pointer也是手型,這裡推薦使用這種,因為這可以在多種瀏覽器下使用。crosshair是十字型 text是移動到文字上的那種效果 wait是等待的那種效果...