QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2637|回复: 0
打印 上一主题 下一主题

ntd.dll难住机器人发烧友

[复制链接]
字体大小: 正常 放大

937

主题

117

听众

3万

积分

升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    跳转到指定楼层
    1#
    发表于 2013-7-25 17:54 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    我为做机器人自学C++编程,在网上找了个程序改了一下。调试该程序总报错,因为ntd.dll的原因,无匹配的字符信息。我想把我C:\windows\system32\ntd.dll删除后,再下载一个新的ntd.dll替换,老的ntd.dll删不掉。请教专家们啦,看看我这程序错哪。
    7 r+ ]7 T6 l) n" L: N+ s6 q#include <iostream.h>6 \* `; S1 d+ z& V" |& z5 v9 {
    #include <stdio.h>, o" E) E3 F7 }1 P  N$ B# k- F
    #include <math.h>
    % O9 {) [( L3 J7 etypedef unsigned char BYTE;
    - a# O, e" t% r) R  I. olong Ary2DW (unsigned char p[4]){
    . t+ y" i( G4 C% y3 A$ L9 J. wint a0,a1,a2,a3;unsigned long A;
    0 J( D8 L% d, g% X1 Wa0=int (p[0]); a1=int (p[1]);
    ! b1 |4 d5 e* p4 ^a2=int (p[2]); a3=int (p[3]);
    1 Q8 t" I- k( oA=a3*256*256*256+a2*256*256*256+a0;
    . \/ t1 K9 L' }' Z! N: `return A;};//实现数的大小正确转换,转换为WORD所代表的实际值 2 ]  ~: @5 ?6 U2 p* G9 O0 {
    typedef struct tagBITMAPFILEHEADER {- O3 g* p/ @% w( p
    BYTE bfType[2];BYTE bfSize[4];
      V4 a" D8 k1 y+ ]+ yBYTE bfRcserved1[2];6 m* {7 z7 q) V
    BYTE bfRcserved2[2];
    & v3 \( F2 h+ _) UBYTE bfoffBits[4];7 ~. m, }) U$ ~) H- b  F
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型4 B9 }1 ^# u& |
    typedef struct tagBITMAPINFOHEADER {
    " c3 G& Y2 z6 k* t: H5 qBYTE biSize[4];
    ) b4 p% }" k; G: k  g  z& fBYTE biWidth[4];+ ]+ y0 g7 q0 Q# {* r" F5 ]
    BYTE biHeight[4];
    $ q' W& I/ n3 R$ R; M7 PBYTE biCompression[4];5 I# Y& N/ J, Q5 {) |
    BYTE biXPelsPerMeter[4];' y! F' m5 {7 T
    BYTE biYPelsPerMeter[4];
    9 M4 c% S& C$ N3 `1 _9 aBYTE biClrUsed[4];4 ~+ o% D0 W9 t# i- {
    BYTE biClrImportant[4];! J& D3 ~  ]; r1 F4 u+ @( |
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
    - t; @* {4 h2 |/ W. P; z$ `typedef struct BitmapFile{
    9 @: e: C6 E" r# v8 uBITMAPFILEHEADER bmfheader;
    ' {3 N: R3 {$ e8 v. wBITMAPINFOHEADER bminfoheader;7 ?0 e4 `5 h) ^5 ]7 a* l
    BYTE bitmapdata[3275520];1 G- Z$ F) |; C- K# I
    }bitmap;//定义所处理图像文件对应BMP的文件格式' _, P, b  O7 T" M
    //主函数,将图像区数据读入B、G、R三个数组4 c2 _4 O  o# d8 U9 Q
    int main()( ^+ C" L& d$ l, Z( F( E( ^  H$ f
    {
    ; s8 v) C& S" Pbitmap *ample1;) s1 W# S! M" b- k& V( H  m
    FILE *fp, *fp1;" G+ |, d7 ]; S, D
    BYTE R[1280][853],G[1280][853],B[1280][853];2 F7 z- f! q+ F3 Y. s) P  L
    long k=0;( B: L2 w! s% ~) j' }
    int i,j;5 R  H/ Y% |% x$ k& [
    char name[20]="try.bmp";//读到新文件的文件名
      f7 z2 h* H, D; k7 T! p3 Tfp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    ( o/ {, N- F$ i. E4 kfp1=fopen(name,"wb");//为写建立一个新文件名+ M9 S. u2 r& ~; l# p4 ^  ]6 Y7 m
    if(! (ample1=new bitmap)){0 ~: b. G9 M- }2 ?( u/ h6 E; y
    cout<<"error"<<endl;return 0;
    8 v/ E, [, [- r* k% A}
    2 {& L9 Z8 v% r( ^$ D8 {/ r5 selse
    , p6 M# E: e9 ?, @+ o1 q9 s' d{4 X. V- p7 L* O: b" I
    fread(ample1,sizeof(bitmap),1,fp);" N1 j+ K9 Z- I! O) T5 w
    fwrite(ample1,sizeof(bitmap),1,fp1);+ B' }$ h) W9 f" h
    cout<<"********位图文件头格式:********"<<endl;
    1 ~- Q$ ^1 L6 [cout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    * `" S7 |2 }7 S* a$ ?- ^cout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
    ; z% q' S# S& g- v% ccout<<"********以下是图像数据区********"<<endl;
    & f, a9 W3 D& @; N5 g5 ~//指定像素点,以16进制输出BGR值
    # c) D. F. J+ r/ icout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    , I0 L% F9 G, hcout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
    0 G! @7 W: P0 U. d' x7 ]cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
    2 I4 R: c" F; D/ e# c5 i+ ^* _( C& s//将图像区数据读入 R、G、B三个数组5 k' e6 \3 @3 E# I, x  a
    for(i=1280; i>=0; i--)
    4 _% g8 Q7 f* M" s) {7 wfor(j=0; j<853; j++) ' I: l: W; D, |5 R' P
    {2 A! k1 S+ Y% r1 ~
    B[i][j]=ample1 -> bitmapdata[k++];
    5 l3 F3 n4 y/ W& {2 x( @G[i][j]=ample1 -> bitmapdata[k++];
    + j" b; x# v0 _, bR[i][j]=ample1 -> bitmapdata[k++];1 X* z8 `9 v0 D3 s
    }. O/ I( b+ I- ~- g* Z1 O
    //检查是否将图像数据读入数组' g# x5 R) y$ }
    cout<<"********以下是内存数组数据********"<<endl;, d8 K( c" p: ?5 ~+ ^$ L( {  |
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;8 S! ^* |# F% l% A, J& S- Y
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    ( y4 d+ C; X9 vreturn 1;; v% [8 I6 r# d, B) P; ~
    }
    ) g5 R. L. P' [2 W7 Gdelete ample1;# I- }7 ~  _: B' V% C
    fclose(fp);
    3 V# ^2 g& T2 H, B2 V: h+ dfclose(fp1);0 l" A* N) g9 D6 \$ k
    }
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-9-3 05:44 , Processed in 0.450338 second(s), 51 queries .

    回顶部