c语言处理图像
看工具是什么。甚至具体需求是什么。
GDI/DX/OPENGL都可以在像素RGB值上直接处理。
等于做离屏渲染。
也可以利用游戏引擎现有的工具库直接实现这些逗比效果。
‘贰’ 请教C语言处理图像的问题
#include <Bitmap.h>//引用处理图片的头文件
FILE *hFile = NULL;//文件指针
int LoadBitmapFile ( char *fileName, BITMAP_IMAGE_PTR bitmap )
{
int hImageFile = 0; //文件读取成功的标识
unsigned char *workingBuffer = 0; //保存读取的图片
hImageFile = _open ( fileName, _O_RDONLY ); //以只读方式打开图片文件,成功返回1,失败返回-1
if ( hImageFile==-1 )//如果打开失败,则输出警告
{
WriteLogFile ( "LoadBitmapFile function error! \nCan not open the bitmap.\n" );
return 0;
}
这只是最基本的打开图片文件,跟打开普通文件没什么区别,后面要对图片进行处理的话没有图形学的知识会很困难,如果想进一步研究,建议学习一下计算机图形学
‘叁’ 纯C语言实现图像处理
这个不难吧?虽然我不用c,可是说下怎么做,首先打开一个BMP文件,然后按照bmp格式解析到一个数组中,接着进行二值化(这个有很多方法),最后将数组中的数据写入一个新的BMP文件就可以了。
‘肆’ 在图像处理中c语言哪部分比较重要
C语言比只是一门工具,图像处理算法比较重要。C语言你只要明白指针还有各种地址推算就好了,其他都是浮云。图像处理也大部分都是指针操作,比如加载位图、对图像进行卷积等等,都是拿到图像的内存块起始地址的指针,然后再到具体的图像某个像素点在内存上的位置,做运算的。
‘伍’ c语言处理图像文件
opencv做图像处理比较专业,用纯C语言的话处理bmp图像比较方便,因为信息是直接按字节存储的,其他格式因为有压缩的问题,比较麻烦,我以前写过一个处理bmp的程序,如果你要的话可以网络hi联系我,或者留下邮箱发给你。
‘陆’ C语言图像处理问题
#include "graphics.h"//供使用像素函数,直线和线型函数,多边形函数,圆、弧和曲线函数
void main(){
int gdriver,gmode;
gdriver=VGA;
gmode=VGAHI;//指向图形显示模式序号变量的指针,640x480 16 color 1 page ,VGAHI=2;
initgraph(&gdriver,&gmode,"");//初始化图形系统 //第一个参数指向图形驱动序号变量的指针,VGA=9; //指向图形显示模式序号变量的指针,VGAHI=2表示640x480 16color1page //第三个存放图形驱动文件的路径为空
bar3d(100,100,300,250,50,1);//画一个三维条形图 用法: void far bar3d(int left, int top, int right, int bottom,
int depth, int topflag);
getch();//会等待你按下任意键,再继续执行下面的语句
closegraph();// 关闭图形系统}
‘柒’ C语言中,图像处理函数的使用
Tc中用initgraph()函数可以切换到图形模式,用closegraph()可以从图形模式切换回字符模式。
initgraph()和closegraph()都是图形函数,使用图形函数必须包括头文件"graphics.h"。
void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);
graphdriver是指向图形驱动序号变量的指针,
graphmode是在graphdriver选定后,指向图形显示模式序号变量的指针,
pathtodriver表示存放图形驱动文件的路径。
图形驱动序号不同,图形驱动文件也不同。序号为VGA图形驱动对应"egavga.bgi"这个图形驱动文件。
"egavga.bgi"一般在 Tc目录下
例如:
-------
#include <graphics.h>
int Drive,Mode=DETECT;
initgraph(&Drive,&Mode,""); //图形显示器、显示模式、路径自动检测
运行时需要在当前目录下存在 EGAVGA.BGI文件
在TC\BGI目录底下
-------
如果编译后的.exe文件在另外一个目录(如编译后的.exe文件在D:\MyTc 目录下,而编译器的程序和.BGI文件在C:\Turboc\bin 目录下,则需要填上BGI文件的路径
例如:
initgraph(&Drive,&Mode,"C:\\Turboc\\bgi");