作者ot32em (reverse(wasefo);)
看板C_and_CPP
標題[問題] 抓點繪圖
時間Fri Nov 6 01:12:56 2009
( *[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