为什么用CImage类进行像素操作会这么慢???请高手指点一下。

Tom_xiaowang 2008-03-31 11:10:03
做一个图像处理中的特效变换,用的是CImage类来实现不同格式之间的打开和存储,但是到了柔化和锐化算法时,奇慢无比,请教!
注:代码中用到的是GetPixel()和SetPixel()。
...全文
115 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tom_xiaowang 2008-04-02
  • 打赏
  • 举报
回复
好 谢谢
DRACULAX05 2008-04-02
  • 打赏
  • 举报
回复
LPBYTE pPixels = (LPBYTE)CImage::GetBits();
如果是256色位图还需要获取索引,查一下MSDN
Tom_xiaowang 2008-04-01
  • 打赏
  • 举报
回复
谢谢楼上指点
CImage对象的Buffer怎么得到,请高人说的明白些,谢谢。
DRACULAX05 2008-03-31
  • 打赏
  • 举报
回复
点对点的图像处理用GetPixel和SetPixel就是自己找慢
这两个都是函数,光参数进出栈的时间都比处理的时间长,更不用说函数内部繁琐的判断和逻辑消耗的时间了
你需要得到CImage对象的Buffer,锁定后直接操作内存
相关推荐
发帖
图形处理/算法

1.9w+

社区成员

VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
帖子事件
创建了帖子
2008-03-31 11:10
社区公告
暂无公告