QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1914|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    6 `; q) u% `2 ]$ x. C/ y4 D#include <iostream.h>2 D# z, [( b  ~, v, k, O0 @* l5 u
    #include <stdio.h>
    5 n- n3 L* }; {#include <math.h>
    4 T9 ^( F# n* H3 D" utypedef unsigned char BYTE;; B2 U  o8 z  [  X) Q2 ]- C
    long Ary2DW (unsigned char p[4]){0 q. u' \, f7 A; R+ A
    int a0,a1,a2,a3;unsigned long A;2 |+ H& o1 |' [+ `5 p2 s
    a0=int (p[0]); a1=int (p[1]);
    # ]+ B! t/ c: h% W. _, k. ma2=int (p[2]); a3=int (p[3]);
    * W  l( t, |5 w: p( z: ~$ ^: iA=a3*256*256*256+a2*256*256*256+a0;, g* J/ z4 k3 [: ^+ w9 f4 U
    return A;};//实现数的大小正确转换,转换为WORD所代表的实际值 9 `$ V) n, r( ?8 I
    typedef struct tagBITMAPFILEHEADER {
    1 g9 J4 A# W- y# v- Q# fBYTE bfType[2];BYTE bfSize[4];
    ' `$ {& H& _7 w& V% I1 c6 HBYTE bfRcserved1[2];
    % L  i  v% @: }9 mBYTE bfRcserved2[2];
    : r7 a% |' b" ]0 n& Q8 P3 H+ OBYTE bfoffBits[4];3 U! M1 t8 {# @, @) P6 W2 S
    }BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    ( y8 J% R' r" G) C% q9 Z/ S2 j+ rtypedef struct tagBITMAPINFOHEADER {3 @9 @" \/ z' D
    BYTE biSize[4];! q. B- p9 p* z7 b, b  o
    BYTE biWidth[4];/ d6 E5 Y  w* q, \( r6 C/ p& i8 O
    BYTE biHeight[4];' s  u) i$ S% @8 @) E6 c
    BYTE biCompression[4];/ d& m( ?0 e# U4 d9 u
    BYTE biXPelsPerMeter[4];
    8 D1 T% o% k0 SBYTE biYPelsPerMeter[4];( i" c( \/ h! n9 {# {# R5 \0 O
    BYTE biClrUsed[4];" Z# n# @8 }; R. `% l8 L
    BYTE biClrImportant[4];
    1 R% ], J' K6 G}BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型- c+ H7 F. b. {
    typedef struct BitmapFile{/ p3 p$ B0 x' Z. I! I9 a1 i
    BITMAPFILEHEADER bmfheader;) q) c- k+ I6 X2 V$ G1 N1 t) J
    BITMAPINFOHEADER bminfoheader;
    6 @' @9 K! \& B+ `, ?  b% uBYTE bitmapdata[3275520];
    : p7 o' m! {0 m$ H4 s}bitmap;//定义所处理图像文件对应BMP的文件格式8 V/ V2 ^1 d4 s# R
    //主函数,将图像区数据读入B、G、R三个数组' U" O9 j+ _& M! T9 a1 a( }8 d
    int main()4 |5 L: S. S2 {1 B: J4 @- N9 A
    {
    5 ]# K5 Y8 u" h& g! E; j: D! E& rbitmap *ample1;
    5 i0 L. R1 H8 t* h/ P$ N( oFILE *fp, *fp1;' ?  m. j" p/ g4 L
    BYTE R[1280][853],G[1280][853],B[1280][853];- r/ d6 a( {0 N: `# v" A
    long k=0;9 k4 z: g9 b5 [
    int i,j;# M5 `8 _4 ^3 l% C
    char name[20]="try.bmp";//读到新文件的文件名4 S* Y0 ?. A" ^% w8 |/ i/ t
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件. S) H" t! _# G) s( f: H& |3 {5 \
    fp1=fopen(name,"wb");//为写建立一个新文件名
    ( I6 J5 `( Z; L, V: c8 s; Aif(! (ample1=new bitmap)){( X- m0 d: W) w6 g5 ?4 W) I+ B- ~
    cout<<"error"<<endl;return 0;$ [) d* i* x1 c) p: ?
    }! \( J0 X! V( P
    else
    % J% X# i) w: g{, i' H+ N6 {: n' i( c* T  ?5 _6 r" U' ^
    fread(ample1,sizeof(bitmap),1,fp);
    0 C# y4 H; V9 W( R- Ifwrite(ample1,sizeof(bitmap),1,fp1);: G9 O. M8 X) D( M) b
    cout<<"********位图文件头格式:********"<<endl;
      ~1 x7 R# f4 h0 K! E3 V8 Bcout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    ) Z0 t! L, Z8 }* U0 [6 U3 pcout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;0 T$ G2 B3 q% p, o4 u, q: {
    cout<<"********以下是图像数据区********"<<endl;
    - l! Y. X) w4 u$ X# C) k( s//指定像素点,以16进制输出BGR值
    ) |6 V9 J& S: y9 N) ?* K3 ]cout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;
    * d, W& r! N$ Y( t% {+ g- tcout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl;
    ; e! C4 f* d* L( X1 F! b6 Qcout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;
    + P+ }. j/ ~0 e2 N+ Z' P//将图像区数据读入 R、G、B三个数组
    4 c& \; ]; b4 N! T. pfor(i=1280; i>=0; i--)' a. \, W* J3 Z! ^; W3 X, }
    for(j=0; j<853; j++)
    ( M- K* g6 K- _{7 c7 j, q' U  D# ?
    B[i][j]=ample1 -> bitmapdata[k++];
    $ |% B, L! q6 f& DG[i][j]=ample1 -> bitmapdata[k++]; $ O3 v# f% {4 l, O/ E! ^  t# l2 z
    R[i][j]=ample1 -> bitmapdata[k++];
    3 `0 Q  ^2 }/ N8 Y}! o( T4 D" _0 B3 C
    //检查是否将图像数据读入数组
    & s1 m" Q; K7 f& k5 Lcout<<"********以下是内存数组数据********"<<endl;# O, ~% m  I  l" c1 |: x* P
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;# H+ {8 l2 @5 ?3 D3 x: M" B: G' q
    cout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;
    ( E$ M! \) j$ zreturn 1;
    , C* v( c1 h5 ~( K( G- j}# ]! o6 Y, s5 R
    delete ample1;! `5 N3 ^9 U, v
    fclose(fp);
      W( B7 ~2 d0 Rfclose(fp1);
      m) U7 S: y8 c, v; x}
    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, 2024-4-28 15:28 , Processed in 0.256930 second(s), 51 queries .

    回顶部