作者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