作者genghiskii (SaoAn)
看板C_and_CPP
標題[問題] 關於OpenCV中計算的問題
時間Fri Feb 20 21:08:45 2009
我的圖是用灰階讀取
程式碼如下
for(int i=0;i<babyleftdis->height;i++)
for(int j=0;j<babyleftdis->widthStep;j++)
Disparityleft[i][j]=babyleftdis->imageData[i*babyleftdis->widthStep+j]
cout << int(Disparityleft[10][200])<< endl;
結果出來是140
for(int i=0;i<babyleftdis->height;i++)
for(int j=0;j<babyleftdis->widthStep;j++)
Disparityleft[i][j]=babyleftdis->imageData[i*babyleftdis->widthStep+j]/4
cout << int(Disparityleft[10][200])<< endl;
結果出來是227????? 請問為什麼不是35
我測了其他的點,有些是正常除以4,有些就會跑出像這樣奇怪的數值@@
拜託各位大大解惑,搞了很久還是搞不出來
在此叩謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.7.59
1F:推 kvykn:cast成int再做除法運算試試看 02/20 21:24
2F:推 Hermite:是因為IPL_DEPTH_8U是unsigned char (-127~128) 03/19 23:28
3F:→ Hermite:你必須寫個轉換副程式(-127~128 -> 0~255) 值才會對 03/19 23:29