怎么用C++处理pgm格式的图片?

wojiushixihuanjava 2010-07-05 07:32:13
我开始学习图像处理,一开始老师让我用pgm格式的图像,我在课堂上学到的是读取文件的方式然后用各种循环处理,现在老师让我实现高斯模糊双边滤波器什么的,但是我开始迷糊了因为上网找资料的时候都是些用了什么Cmap啊什么的,需要用到么?那么我一开始用VC6.0做的处理,现在要用Visual Studio2008,还会有什么格式之类的转化么?
急需回答!牛人们帮帮我吧。。。
这是当时读入的代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define DIM 1024


void main(argc,argv)
int argc;
char **argv;
{
FILE *fr,*fw;
unsigned char **get_matrix_space(),**image,**tempt;
unsigned char buffer[DIM];
int i,I_m,I_n,j,aver=0,aver2=0,var=0,var2=0;
double fvar=0;
char topc[20];

if(argc != 3){
printf("Sub:Image+OutImage\n");
exit(1);
}
if((fr= fopen(argv[1],"rb")) ==NULL){
printf("can't open %s\n",argv[1]);
exit(1);
}
if((fw= fopen(argv[2],"wb")) ==NULL){
printf("can't open %s\n",argv[2]);
exit(1);
}
fscanf(fr,"%s\n",topc);
fscanf(fr,"%d %d\n",&I_n,&I_m);
fscanf(fr,"%d",&i);

fprintf(fw,"%s\n",topc);
fprintf(fw,"%d %d\n",I_n,I_m);
fprintf(fw,"%d\n",255);

后面有一个构造的二维容器来装各种值。
get_matrix_space()
这样可以么?再深入处理还需要什么呢?
帮帮我啊。。我实在是。。啊。。。
...全文
688 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinghuashihun 2010-10-06
  • 打赏
  • 举报
回复
借助别人的库才可以呀,不然就只有自己写解码的算法了,推荐一个库GDI+ ,我做过的,我是实现了6中图片的编解码操作,都有函数,很简单,就是配置麻烦点
wojiushixihuanjava 2010-07-08
  • 打赏
  • 举报
回复
嗯嗯,谢谢大家哈。
bitxinhai 2010-07-05
  • 打赏
  • 举报
回复
用opencv吧,把图像直接读取为一个二维数组,
然后就可以进行处理了
djjlove_2008 2010-07-05
  • 打赏
  • 举报
回复
是可以呀,还可以处理photoshop处理过的图片。
ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式图片图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由***,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的***都来源于命令行工具。通常来说,它可以支持以下程序语言: Perl, C, C++, Python, PHP, Ruby, Java;现成的ImageMagick接口(PerlMagick, Magick++, PythonMagick, MagickWand for PHP, RubyMagick, and JMagick)是可利用的。这使得自动的动态的修改创建图片变为可能。ImageMagick支持至少90种图片格式: A, ART, AVI, AVS, B, BIE, BMP, BMP2, BMP3, C, CACHE, CAPTION, CIN, CIP, CLIP, CLIPBOARD, CMYK, CMYKA, CUR, CUT, DCM, DCX, DNG, DOT, DPS, DPX, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, FAX, FITS, FPX, FRACTAL, G, G3, GIF, GIF87, GRADIENT, GRAY, HDF, HISTOGRAM, HTM, HTML, ICB, ICO, ICON, JBG, JBIG, JNG, JP2, JPC, JPEG, JPG, JPX, K, LABEL, M, M2V, MAP, MAT, MATTE, MIFF, MNG, MONO, MPC, MPEG, MPG, MSL, MTV, MVG, NULL, O, OTB, P7, PAL, PALM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PFA, PFB, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSD, PTIF, PWP, R, RAS, RGB, RGBA, RGBO, RLA, RLE, SCR, SCT, SFW, SGI, SHTML, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, TIF, TIFF, TILE, TIM, TTC, TTF, TXT, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMF, WMFWIN32, WMZ, WPG, X, XBM, XC, XCF, XPM, XV, XWD, Y, YCbCr, YCbCrA, YUV

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧