社区
图形处理/算法
帖子详情
一个小问题::
slhkzyl
2010-05-02 09:10:03
for(i=0;i<dwHeight;i++)
for(j=0;j<dwWidth;j++)
{
n=(int)*(m_pDIBData+i*w+j);//3
hist[n]++;
}
上面这段程序是获取位图灰度分布。其中n,hist[300]都是为int
编译在3那行有:rror C2297: '*' : illegal, right operand has type 'long [300]' 这个错误,
不能理解这是什么错误?
...全文
158
12
打赏
收藏
一个小问题::
for(i=0;i<dwHeight;i++) for(j=0;j<dwWidth;j++) { n=(int)*(m_pDIBData+i*w+j);//3 hist[n]++; } 上面这段程序是获取位图灰度分布。其中n,hist[300]都是为int 编译在3那行有:rror C2297: '*' : illegal, right operand has type 'long [300]' 这个错误, 不能理解这是什么错误?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
slhkzyl
2010-05-04
打赏
举报
回复
谢谢大家了,··
slhkzyl
2010-05-04
打赏
举报
回复
问题解决了,是我自己犯得错误,变量弄错了,
yaozhiyong110
2010-05-03
打赏
举报
回复
n=(int)(*(m_pDIBData+i*w+j)); 估计是优先级的关系
括号最后加全了
slhkzyl
2010-05-02
打赏
举报
回复
[Quote=引用 4 楼 hilevel 的回复:]
n=(int)*(m_pDIBData+i*w+j)
我想这行代码的本意是计算m_pDIBData+i*w+j的值,再转换成int型吧
那就直接把int后面那个‘*’去掉就行啦
[/Quote]
不加*,那个就表示其地址值而不是像素值,貌似
slhkzyl
2010-05-02
打赏
举报
回复
[Quote=引用 5 楼 ronghaoyue 的回复:]
n=(int)*(m_pDIBData+i*w+j);
这句没看懂,要干什么呢。抄程序抄错了?
n=(int)(*m_pDIBData+i*w+j);
这样可能更靠谱。
多贴些代码才能看出来。
[/Quote]
应该没错,*(m_pDIBData+i*w+j)这个就是第i行j列的像素值,这个是byte类型,所以我把他强制类型转换
slhkzyl
2010-05-02
打赏
举报
回复
n=(int)*(m_pDIBData+i*w+j);//3
hist[n]++;
我解释下哦:
我不是要取得一幅位图里每个灰度占的数目么
所以hist[n]表示灰度n的个数;m_pDIBData是位图数据的首地址,
我通过循环扫描每个像素,来统计
ronghaoyue
2010-05-02
打赏
举报
回复
n=(int)*(m_pDIBData+i*w+j);
这句没看懂,要干什么呢。抄程序抄错了?
n=(int)(*m_pDIBData+i*w+j);
这样可能更靠谱。
多贴些代码才能看出来。
hilevel
2010-05-02
打赏
举报
回复
n=(int)*(m_pDIBData+i*w+j)
我想这行代码的本意是计算m_pDIBData+i*w+j的值,再转换成int型吧
那就直接把int后面那个‘*’去掉就行啦
slhkzyl
2010-05-02
打赏
举报
回复
[Quote=引用 1 楼 yincheng01 的回复:]
http://blog.csdn.net/xcntime/archive/2009/04/06/4051386.aspx
[/Quote]
不懂啊··,稍微看了下貌似没什么联系嘛
slhkzyl
2010-05-02
打赏
举报
回复
有人米?????、自己顶一个
尹成
2010-05-02
打赏
举报
回复
http://blog.csdn.net/xcntime/archive/2009/04/06/4051386.aspx
图形处理/算法
19,468
社区成员
50,700
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章