看板 C_and_CPP 關於我們 聯絡資訊
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 我用 opencv 來畫圖 想要實作像小畫家一樣 隨點即現 我的 onMouse function 在下面 可是我在畫的時候 就很稀疏的樣子 可能從0,0到0,50 只會記錄0,0 0,1 0,5 0,10 0,20 0,30 0,40 0,45 0,49 0,50 不會像小畫家一樣就很精實地每點都會畫上 其實我用JAVA SWING也有做過也是有一樣的問題T.T 希望得到的正確結果: 跟小畫家一樣實在 程式跑出來的錯誤結果: 不實在的線條 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev-c++ with opencv library on windowsxp 有問題的code: (請善用置底文標色功能) void onMouse(int e,int x, int y, int flags, void* param) { if(( flags == CV_EVENT_FLAG_LBUTTON )&&( x>0 && y >0 && x<400 && y<400 )) { img->imageData[y*img->widthStep+x*3] = 0; img->imageData[y*img->widthStep+x*3+1] = 0; img->imageData[y*img->widthStep+x*3+2] = 255; cvShowImage("Panel", img); } } 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.130.233
MOONRAKER:不要畫點,畫線。所有的paint軟體都是這樣做的。 11/06 01:18
VictorTom:您是一直抓座標畫點對吧?? 試試看改成一直畫線連接前一 11/06 01:19
VictorTom:個座標:) 11/06 01:19
ot32em:成功了!! 感謝大家的幫助!! 11/06 01:32
ot32em:造成這樣的原因是程式的關係嗎!? mouse event天生的限制!? 11/06 01:34
MOONRAKER:是天生的限制。因為滑鼠移動並不會不斷觸發事件 11/06 09:50
MOONRAKER:有它最小的時間間隔,取到的點當然就是斷續的。 11/06 09:51