看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) devc++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) opencv 問題(Question): 只能跑12張 錯誤結果(Wrong Output): 跳出警告 我想要讀取圖的每個點RGB值 但只要讀了超過12次@@就會當機 我每讀一張圖 也有歸還記憶體配置 還是不行 http://codepad.org/7bD83WMK 主要程式碼 (裡面的改成讀同一張圖40次也不行...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.109.77
james732:警告的訊息寫的是什麼? 01/01 23:57
pigcat1315:unknow software exception 01/01 23:59
diabloevagto:如果另外寫值進去,先不用opencv可以嗎? 01/02 00:23
pigcat1315:一樣ㄒㄒ 會盪 我明明有free阿 01/02 00:28
diabloevagto:我正常跑完40次... 01/02 00:34
pigcat1315:你圖多大@@? 01/02 00:35
diabloevagto:2144*1420,話說我觀察記憶體會一直增加 01/02 00:36
pigcat1315:我RAM只有2G 一口一 我有歸還阿 01/02 00:40
diabloevagto:那如果你把給值拿掉,只calloc跟free呢? 01/02 00:41
pigcat1315:@@ 疑可以 可是這樣就沒值可以讀了ㄒㄒ 01/02 00:47
diabloevagto:就測試看看是不是真的是分配的問題 01/02 00:49
diabloevagto:如果可以的話那應該不是分配的問題 01/02 00:50
diabloevagto:calloc應該不會被opt吧... 01/02 00:51
ables:cvReleaseImage ?? 01/02 00:52
pigcat1315:樓上@@那個我free後 也有做說 01/02 00:54
tropical72:free(dataR); --> 要拉出回圈吧?另為什麼要二個int i? 01/02 01:05
diabloevagto:他讀圖在for裡面,在for內才知道大小才能分配 01/02 01:07
diabloevagto:兩個i應該是手誤... 01/02 01:09
pigcat1315:XD 第一個i沒效果 控制次數爾以 01/02 01:13
diabloevagto:建議還是改不同的名稱... 01/02 01:13
diabloevagto:要用次數用個counter也不錯 01/02 01:14
pigcat1315:恩 ~自己的有改k 了 到底是CV問題 還是不給配置呢ㄒㄒ 01/02 01:15
diabloevagto:話說你要讀值,怎麼不直接用http://ppt.cc/V(bN 01/02 01:23
diabloevagto:還要先讀出來? 01/02 01:23
Feis:每次 cvLoadImage 後都要 cvReleaseImage 01/02 02:16
Feis:你單純讀圖可以跑嗎 ? (without calloc) 01/02 02:19
pigcat1315:我是用get2D阿@@~ 01/02 03:10
pigcat1315:CvScalar TempPixel=cvGet2D(InImage,i,j);有跑到這就 01/02 03:12
pigcat1315:會當機 01/02 03:12
pigcat1315:我也有cvReleaseImage(&Image) 忘了貼上去 01/02 03:22
pigcat1315:d大 所以你的40次RGB值都有進去摟? 01/02 03:51
diabloevagto:我沒去確定40次都有,只確定跑過 01/02 10:19
pigcat1315:= =好怪阿 ....我試兩台電腦都不能跑QQ 01/02 11:25
pigcat1315:d大可以看一下你的程式碼嗎@@ 01/02 11:25
chengcti:free要在for外.你calloc()一次,但是free超過一次, 01/02 12:11
pigcat1315:for 外就不用free了阿@@~ *R*G*B 是在迴圈內才宣告 01/02 12:20
chengcti:我看錯他的 '}' 沒對齊, 他的calloc/free是成對沒錯 01/02 12:37
diabloevagto:在for外也要free,你的是動態分配,不是靜態 01/02 13:36
pigcat1315:for 外編譯就不會過了說~>"<D大的能跑可以給看看嗎 01/02 13:42
diabloevagto:你宣告在裡面,free放外面當然不行= = 01/02 14:22
diabloevagto:找不到東西free啊... 01/02 14:22
pigcat1315:是阿@@ 所以我放裡面阿 01/02 14:50
pigcat1315:目前是確定get2D問題ㄒㄒ 記憶體應該是沒錯 01/02 15:30
diabloevagto:你看一下有沒有超出範圍 01/02 18:10
pigcat1315:@@都用link了應該不會有這問題 01/02 19:17
diabloevagto:你用get如果超出範圍opencv會給錯誤 01/02 19:55
pigcat1315:@@那應該第一次就會死當了吧..... 01/02 20:00
diabloevagto:我是用2.3把原本的for放進去而已 01/02 20:04
pigcat1315:2.3版? ㄒㄒ我是1.0版 01/02 20:20
diabloevagto:為什麼有新版不用新版... 01/02 20:23
pigcat1315:><"2.0我可以跑到83個 我其實要跑100個說 01/02 22:31
diabloevagto:沒試過跑這麼多次,你在用看看2.3版吧,說不定有改過 01/02 22:34
diabloevagto:100次正常 01/02 22:38