本人刚接触VC++数字图像处理,不知道从何下手,如何读取位图等,如何对图像进行算法处理。有没有哪位好心的高手可以指点下?
解决方案 »
- SDK双缓存防止图片闪烁,,但图片显示不出来,谁帮我看一下怎么回事...
- 学些DLL,但是编译EXE时出错,请大家指教!
- 为什么我使用CButtonST改变按钮背景以后,会出现Debug Assertion Failed的框
- 哪位大哥有XP下隐藏进程的好例子(hook api)
- 那位好心人能提供一个关于提取24位彩色图像rgb值得源代码?
- help me!!!
- 请问如何使用MSCHART控件
- 如何在程序里获得当前call stack信息并打印出来?
- Win98是如何得知插入的新硬件的型号的?
- 怎样在Dialog里制作快捷菜单(用右键打开的菜单)。
- OpenGL里面怎样控制坐标大小差距很大的图形显示
- CSocket connect() ?
1.熟悉VC开发环境、熟悉MFC。这个不用多说吧。
2.了解BMP位图的格式,知道什么地方是数据、什么地方是调色板、什么地方是头,并且能够准确的使用MFC的结构体、指针表示和找到位图中数据的位置。
3.明白MFC下位图的显示问题,说白了就是知道如何将在内存中的位图显示到屏幕上。
4.数据始终是最重要的,要知道BMP在内存中是如何排列的,例如,图片最左边上下两行的两个像素点在内存中可不是相互挨着的两个点,而是相差了一个图片宽度。了解了数据在内存中的表示情况后,图像处理的算法就可以自己编写了。
所以,开始学习图像处理,最重要的一步就是能够读取一个硬盘中的BMP图像到内存并显示出来(这里的显示并不是直接使用MFC的函数,而是通过读取文件头、调色板、数据位的过程并最终显示出来)。
完成这一步后,相对来说就算是过了图像处理最重要的一关了。
后续的工作就是数据处理了,先验证一般的图像处理算法。最后达到写自己的图像处理算法。