看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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