作者mistborn82 (mistborn82)
看板C_and_CPP
標題[問題] 有多個執行個體符合引數清單
時間Tue Nov 24 08:26:33 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
vc2010++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
opencv
問題(Question):
小弟新手 在做影像邊緣計算時遇到的問題
兩個for迴圈 做影像長寬pixel的運算
迴圈內把每個pixel的梯度做開根號 和做atan 大概像下面這樣
for(....){
for(....){
Gx=2個矩陣運算(出來為一整數)
Gy=2個矩陣運算(出來為一整數)
G = sqrt(Gx^2 + Gy^2 ) ;
theta = atan(Gy / Gx) *(3.1415/180);
......
.判斷theta角度.....
..........
......
會出現
多載函式sqrt有多個執行個體符合引數清單
多載函式atan有多個執行個體符合引數清單
這2個錯誤
但是把sqrt 改成pow(Gx^2 + Gy^2,0.5)就沒事了
但是atan還是錯的
請教各位高手原因 謝謝~~
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.175.208
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1448324796.A.D17.html
推 stupid0319: 浮點數後面一定要加f 11/24 08:49
→ stupid0319: 3.1415 => 3.1415f ,Double的話要加d 11/24 08:51
→ mistborn82: 有加過但還是錯的 11/24 10:39
→ Caesar08: 因為你給的參數是int,他要求的是float與double 11/24 14:16
→ Caesar08: 他不知道你是要呼叫哪一個sqrt 11/24 14:17
推 yvb: (Gy / Gx) 還是整數, 可能差很大, 故請先將 Gx 或 Gy 轉型. 11/24 17:06
→ yvb: 另外, Gx^2 真的是這樣寫嗎? 或只是示意...?? 11/24 17:11
推 stupid0319: 應該是把xor運算子覆載了........ 11/24 17:36