您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 智能交通系统02A_监控与识别_C语言图像处理
05:131图像处理程序设计C语言有关问题图像显示预备知识图像处理程序设计05:132C语言有关问题C语言磁盘文件操作FILE*__stream定义文件变量指针fopen(constchar*__path,constchar*__mode);fopen打开文件constchar*__path文件名如”test.txt”constchar*__mode文件属性如”r”只读文本文件”w”只写文本文件”rb”只读二进制文件”wb”只写二进制文件”r+”可读写文本文件”w+”创建可读写文本文件”rb+”可读写二进制文件”wb+”创建可读写二进制文件fclose(FILE*__stream);fclose关闭文件FILE*__stream文件变量指针05:133C语言有关问题C语言磁盘文件操作fgetc(FILE*__stream);fgetc从文件变量指针当前位置取字符FILE*__stream文件变量指针fgets(char*__s,int__n,FILE*__stream);fgets从文件变量指针当前位置取字符串char*__s串存入指针int__n串的字符数FILE*__stream文件变量指针fputc(int__c,FILE*__stream);fputc在文件变量指针当前位置写字符int__c写入的字符值FILE*__stream文件变量指针fputs(constchar*__s,FILE*__stream);fputs在文件变量指针当前位置写字符串constchar*__s写入字符串指针FILE*__stream文件变量指针05:134C语言有关问题C语言磁盘文件操作fread(void*__ptr,size_t__size,size_t__n,FILE*__stream);fread从文件变量指针当前位置成块读入void*__ptr读入缓冲区指针size_t__size字段长度size_t__n字段数FILE*__stream文件变量指针fwrite(void*__ptr,size_t__size,size_t__n,FILE*__stream);fwrite在文件变量指针当前位置成块写void*__ptr被写块缓冲区指针size_t__size字段长度size_t__n字段数FILE*_stream文件变量指针fseek(FILE*__stream,long__offset,int__whence);fseek随机访问的文件指针FILE*__stream文件变量指针long__offset偏移量int__whence起始位置SEEK_SET文件头SEEK_CUR当前位置SEEK_END文件尾05:135C语言有关问题CPU寄存器结构字型寄存器结构定义structWORDREGS{unsignedintax,bx,cx,dx,si,di,cflag,flags;};字节型寄存器结构定义structBYTEREGS{unsignedcharal,ah,bl,bh,cl,ch,dl,dh;};寄存器联合定义unionREGS{structWORDREGSx;structBYTEREGSh;};段寄存器结构定义structSREGS{unsignedintes;unsignedintcs;unsignedintss;unsignedintds;};05:136C语言有关问题内存访问poke(unsigned__segment,unsigned__offset,int__value);poke向指定内存写入一个字unsigned__segment指定内存的段地址unsigned__offset指定内存在段内的偏移量int__value写入的字pokeb(unsigned__segment,unsigned__offset,char__value);pokeb向指定内存写入一个字节unsigned__segment指定内存的段地址unsigned__offset指定内存在段内的偏移量char__value写入的字节05:137C语言有关问题端口访问outport(int__portid,int__value);outport将一个字输出到指定端口int__portid端口号int__value输出的值outportb(int__portid,unsignedchar__value);outportb将一个字节输出到指定端口int__portid端口号unsignedchar__value输出的值05:138BIOS中断调用int86(intint_num,unionRIGS*in_rigs,unionREGSout_regs)int86intel86系列BIOS中断调用intint_num中断调用号unionRIGS*in_rigs输入寄存器unionREGSout_regs)输出寄存器05:139BIOS中断调用中断调用号功能05H屏幕拷贝10H显示器控制11H确定设备12H确定内存容量13H磁盘IO14HRS232接口IO15H磁带IO、AT机扩充服务16H键盘IO17H打印机IO18HROMBASIC19H引导装入程序BOOTRESTART1AH实时时钟1BH键盘终止地址1CH定时器信号1EH软盘参数表1FH图形字符扩展表41H硬盘参数表46H硬盘参数表05:1310BIOS中断调用中断10HAH寄存器值功能00H设置方式01H设置光标类型02H设置光标位置03H读出光标位置04H读出光笔位置05H设置当前显示页06H当前显示页上滚07H当前显示页下滚08H读出字符和属性09H写入字符和属性0AH写入字符0BH设置彩色调色板0CH写入点0DH读出点0EH以电传方式写入字符0FH读出当前显示方式10H彩色寄存器控制13H写入字符串05:1311BIOS中断调用中断调用:INT10H,功能号:AH=0H,显示器显示模式设定子功能号:功能(AL=显示模式号)类型彩色数目分辨率00H、01H文字1640×25字符,320×20002H、03H文字1680×25字符,640×20004H、05H图形440×25字符,320×20006H图形280×25字符,640×20007H文字280×25字符,720×3500DH图形1640×25字符,320×2000EH图形1680×25字符,640×2000FH图形280×25字符,640×35010H图形1680×25字符,640×35011H图形280×30字符,640×48012H图形1680×30字符,640×48013H图形25640×25字符,320×2005BH图形16100×75字符,800×6005CH图形25680×25字符,640×4805DH图形25680×30字符,640×4805EH图形256100×75字符,800×6005FH图形16128×48字符,1024×76860H图形4128×48字符,1024×76861H图形1696×64字符,1024×76862H图形256128×48字符,1024×768输入参数:AH=0H;AL=模式号;返回值:无;05:1312BIOS中断调用中断调用:INT10H,功能号:AH=0CH,画点输入参数:AH=0CH,AL=象素值,BH=页面号,CX=象素列号(横坐标),DX=象素行号(纵坐标);返回值:无;中断调用:INT10H,功能号:AH=10H,彩色寄存器-调色板设置子功能号AL=功能00H设置单个调色寄存器01H设置屏幕显示区边框彩色02H设置全部调色寄存器03H闪烁/加亮属性选择07H读单个调色寄存器08H读边框彩色寄存器09H读全部调色寄存器10H设置单个彩色寄存器12H设置一组彩色寄存器13H选择彩色页面15H读单个彩色寄存器17H读一组彩色寄存器1AH读彩色表现行页面号1BH彩色转换为灰度中断调用:INT10H,功能号:AH=0FH,读取当前显示模式输入参数:无;返回值:AL=当前显示模式;AH=每行字符数;BH=当前屏幕上的页面数;05:1313BIOS中断调用unsignedcharset_SVGA_mode(intvmode){unionREGSr;r.h.ah=0;r.h.al=vmode;int86(0x10,&r,&r);return(0);}unsignedintget_SVGA_mode(){unionREGSr;r.h.ah=0x0f;int86(0x10,&r,&r);return(r.h.al);}05:1314图像显示预备知识标准图形模式模式号显示卡分辨率颜色0x04CGA/CGE400/GWCH320×20040x05EGA4/64kMCGA/VGA4/256kCEGA4/64CNGA4灰度0x06CGA/CGE400/GWCH/MCGA640×2002EGA2/64kMCGA/VGA2/256kCEGA2/640x0dEGA、CEGA320×20016/64VGA16/256k0x0eEGA、CEGA640×20016/64VGA16/256k0x0fEGA、CEGA、VGA640×350单色0x10EGA、CEGA640×35016/64VGA16/256k0x11MCGA、VGA640×4802/256kCEGA2/640x12VGA640×48016/256kCEGA16/6405:1315图像显示预备知识标准图形模式模式号分辨率显示卡颜色0x42640×400CGE40016-640×400HGC20x13320×200VGA256-720×348VGA256-640×400VGA256-640×480VGA16-800×600VGA256-1024×768VGA16-1024×768VGA4-1024×768VGA256模式号空缺是因为该模式号随VGA的制造厂商不同而不同。05:1316图像显示预备知识bmp文件处理位图文件头BITMAPFILEHEADER位图信息头BITMAPINFOHEADER调色板Palette实际的位图数据ImageDate位图文件信息头TypedefstructtagBITMAPFILEHEADER{WORDbfType;//文件类型,必须是0x424D,串“BM”DWORDbfSize;//文件大小WORDbfReserved1;//保留字WORDbfReserved2;//保留字DWORDbfOffBits;//为从文件头到位图数据的偏移字节数}BITMAPFILEHEADER;长度为14个字节WORD为无符号16位整数,DWORD为无符号32位整数05:1317图像显示预备知识bmp文件处理位图信息头BITMAPINFOHEADERTypedefstructtagBITMAPINFOHEADER{DWORDbiSize;//指定这个结构的长度,为40LONGbiWidth;//图像的宽度,单位是像素LONGbiHeight;//指定图像的高度,单位是像素WORDbiPlanes;//必须是1WORDbiBitCount;//表示颜色时要用到的位数,8(256色图)DWORDbiConpression;//位图是否压缩DWORDbiSizeImage;//位图数据占用的字节数LONGbiXPelsPerMeter;//水平分辨率,每米的像素个数LONGbiYPelsPerMeter;//垂直分辨率,每米的像素个数DWORDbiClrUsed;//图像实际用到的颜色数DWORDbiClrImportant;//重要的颜色数}BITMAPINFOHEADER;这个结构的长度是固定的,为40个字节LONG为32位整数05:1318图像显示预备知识bmp文件处理调色板PalettetypedefstructtagRGBQUAD{BYTErgbBlue;//该颜色的蓝色分量BYTErgbGreen;//该颜色的绿色分量BYTErgbRed;//该颜色的红色分量BYTErgbReserved;//保留值}RGBQUAD;图像数
本文标题:智能交通系统02A_监控与识别_C语言图像处理
链接地址:https://www.777doc.com/doc-2315120 .html