C/C++程序中怎么读入一副图像进行加工
我们这学期学了数字图像处理技术。但至今还不会使用opencv读入一副图像进行处理。而且马上就要交作业了。求帮助啊。我们上课叫了一下空间域和频率域的处理啊,还有傅立叶变化啊。但我还不会。我们说一副图像就是一个矩阵,那么我们读入的是一个矩阵吗,用什么存这个矩阵。而且什么GRB的是怎么回事?我很想知道一副图像是怎么构成的,希望懂的人帮忙解答我的疑惑。1. C语言可以读取2进制文件。
2. 图像是2进制文件。
3. 所以你只要知道图像的内存存储格式,就可以把图像中的每个点的值读出来。
4. 从你的问题来看,你不知道某种图像在内存里的存储格式,这可以baidu下,其实可以baidu到很多直接读取图像2进制文件并处理的程序。 本帖最后由 苹果沃珂 于 2013-10-17 11:04 编辑
OpenCV库里面有自己的输入图像函数:VS2008设置OpenCV的方法,间文章http://bbs.fishc.com/thread-37891-1-1.html
以下例程: 图像的来源来自命令行,可修改为char* pPhoto = "C:\\a.bmp";
将pImg = cvLoadImage( argv, 1)) != 0 )
修改为pImg = cvLoadImage( pPhoto, 1)) != 0 )自于仕琪的讲稿
《使用OpenCV进行图像处理》]中的例程
***********************************************************************
* OpenCV example
* By Shiqi Yu 2006
***********************************************************************/
#include "cv.h"
#include "highgui.h"
int main( int argc, char** argv )
{
IplImage* pImg; //声明IplImage指针
//载入图像
if( argc == 2 &&
(pImg = cvLoadImage( argv, 1)) != 0 )
{
cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", pImg );//显示图像
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &pImg ); //释放图像
return 0;
}
return -1;
}
还不会吗?
http://bbs.fishc.com/xwb/images/bgimg/icon_logo.png 来自 852的少年 的新浪微博
页:
[1]