CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  图形处理/算法

从文件中读入bmp图像,然后显示直方图,怎么做?

楼主pengcyu(cpp)2005-12-27 13:51:27 在 VC/MFC / 图形处理/算法 提问

我开始是把图像显示出来,然后用GetPixel一个一个点读取,但这样太慢,要好久才能显示出来。并且我不想把图像显示出来。  
   
  用CFile读取数据,一个一个像素读取,也很慢  
   
  要怎么做呢?谢谢 问题点数:50、回复次数:11Top

1 楼pengcyu(cpp)回复于 2005-12-27 14:41:26 得分 0

各位兄弟姐妹帮忙啊Top

2 楼aa3000(杀手K)回复于 2005-12-27 15:13:20 得分 5

什么意思,不明白。请说清楚一点Top

3 楼pengcyu(cpp)回复于 2005-12-27 15:20:59 得分 0

就是通过文件对话框打开一幅位图,然后显示灰度直方图,要怎么做Top

4 楼happyparrot(快乐鹦鹉)回复于 2005-12-27 15:31:46 得分 5

你上书店借一本VC++图像处理方面的书看一下,都会告诉你如何显示灰度直方图,源代码都有,抄一下就行了。顺便自己再吸收一下。Top

5 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-12-27 15:37:28 得分 5

http://www.yesky.com/20021224/1645640.shtmlTop

6 楼thisisll(学习王高李,有个好身体)回复于 2005-12-27 17:10:03 得分 5

用CFile读取数据,一个一个像素读取,也很慢  
   
  你把数据放到内存里(如果不是很大的图片的话)就快了  
  我看的书上就是一个一个像素的统计的Top

7 楼rocklabzhang()回复于 2005-12-27 17:37:03 得分 10

把像素数据读入到内存中,一个一个的统计就是了。lpData是指向像素的指针。  
  float   a[256];  
  for(int   i=0;i<256;i++)  
  {  
  a[i]=0;  
  }  
  for(DWORD   y=0;y<nHeight;y++)  
  {  
  for(DWORD   x=0;x<nWide;x++)  
            a[*(lpData+y*nWide+x)]++;  
  }  
  Top

8 楼arvid_gs(west)回复于 2005-12-28 21:13:45 得分 5

一个象素取肯定慢了,  
  读到内存里面用位图直接读取   每个点的   r   ,   g   ,b  
    然后用直方图算法计算就可以了!Top

9 楼strangerryf(白痴与白痴讨论的结果一定是比白痴更为白痴的结论)回复于 2005-12-30 17:09:45 得分 5

private   void   GetHist()  
  {//Get   histogram   of   the   image                        
          long   i   =   0,   len   =   bmp.Width   *   bmp.Height;  
          for(;   i<256;   ++i)  
                  rDensity[i]=gDensity[i]=bDensity[i]=0;  
          for(i   =   0;   i   <   len;   ++i)  
          {  
                  rDensity[r[i]]++;  
                  gDensity[g[i]]++;  
                  bDensity[b[i]]++;  
          }  
  }  
  Top

10 楼marstone(marstone)回复于 2005-12-30 20:37:56 得分 5

就得逐个读吧,时间复杂度O(n)恐怕没法提高了Top

11 楼xianshiqi(日出西山)回复于 2005-12-31 14:49:42 得分 5

用GetPix()肯定慢的,你打开位图时,没有获得指向数据的指针吗,用指针就方便多了,直接在内存中取值,可以不用显示图像,直接显示直方图,Top

相关问题

  • 各位帮忙啊,如何得到图像的直方图
  • 如何得到bmp图象的灰度直方图?
  • 请问两副图像的联合直方图是怎样定义的?
  • 请教读入BMP格式的图像需要调用什么函数.
  • 求读入BMP图像并在视图区显示的源代码
  • 如何把一个bmp或jpg图像读入程序,并且分割成若干个图像?`
  • 大家帮帮忙呀,如何编写C程序来实现读入一幅bmp图像的功能
  • 急求饼图、直方图
  • 直方图的问题
  • 高分求直方图!!

关键词

  • 图像
  • 像素
  • 数据
  • 直方图
  • 读取
  • 显示
  • 就是

得分解答快速导航

  • 帖主:pengcyu
  • aa3000
  • happyparrot
  • goodboyws
  • thisisll
  • rocklabzhang
  • arvid_gs
  • strangerryf
  • marstone
  • xianshiqi

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo