最近对DSP的图像处理方向产生了兴趣,但是刚入门就卡住了
要处理图像首先得载入图像,于是网上东拼西凑,写出了以下代码:
#include<stdio.h>
#include<stdlib.h>
#define MODEPHOTO1 2//模式2
#define IMAGEWIDTH 256
#define IMAGEHEIGHT 256
unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT];//原图像数组
//extern unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT];
void ReadImage(unsigned char *pImage,char *cFileName,int nWidth,int nHeight);
void InitImage(unsigned int nMode,unsigned char *pImage,int nWidth,int nHeight)//模式、原图像指针、图像宽度、图像高度
{
switch ( nMode )
{
case MODEPHOTO1:
ReadImage(pImage,"..\lena2.bmp",nWidth,nHeight);
break;
default:
break;
}
}
void ReadImage(unsigned char *pImage,char *cFileName,int nWidth,int nHeight)//原图像、文件名、图像宽度、图像高度
{
int j;
unsigned char *pWork;
FILE *fp;
if ( fp=fopen(cFileName,"rb" ) )//打开图片
{
fseek(fp,1078L,SEEK_SET);//fp指针移动到指定位置
pWork=pImage+(nHeight-1)*nWidth;
for ( j=0;j<nHeight;j++,pWork-=nWidth )
fread(pWork,nWidth,1,fp);//读取像素信息
fclose(fp);
}
else
{
printf("Error open file
");
}
}
void main(void)
{
InitImage(MODEPHOTO1,dbImage,IMAGEWIDTH,IMAGEHEIGHT);
getchar();
}
在ccs里编译通过,但是载入的图像黑压压一片,要么就是显示“Error open file”就没动静了。。
代码含义大概都看得懂,觉得可能是文件路径写错了,但是换了好几种写法都是同样的问题。。
跪求大佬解决一波。。小弟谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢大佬,看了你的例子以后我检查出了自己的问题,果然还是图像没能载入,将相对路径换成绝对路径以后就OK了。。
一周热门 更多>