QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2575|回复: 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删不掉。请教专家们啦,看看我这程序错哪。
    / j- |8 v. t3 H3 v- m6 _. G#include <iostream.h>
    1 r- F1 d# p- v* Q#include <stdio.h>
    $ _$ s  G& {5 ]( I- R) X#include <math.h>
    3 d/ f7 d4 \* t+ q  a, X. qtypedef unsigned char BYTE;
    ) w( W) e. ?, \4 ?long Ary2DW (unsigned char p[4]){
    4 s6 W( b9 d5 T) S8 Z) }. I8 N3 Pint a0,a1,a2,a3;unsigned long A;* ~" B9 J1 D- Y4 x
    a0=int (p[0]); a1=int (p[1]);; W7 x/ i9 ^: n9 E$ o) b! i
    a2=int (p[2]); a3=int (p[3]);
    % C# n, U3 x5 v- C- V) IA=a3*256*256*256+a2*256*256*256+a0;
    % T: E, n- Y* J7 Lreturn A;};//实现数的大小正确转换,转换为WORD所代表的实际值 1 k5 J+ H( O: \) R- i3 c7 Y
    typedef struct tagBITMAPFILEHEADER {
    # c3 P; \8 y; |! e9 tBYTE bfType[2];BYTE bfSize[4];
    + j6 N6 s4 `: EBYTE bfRcserved1[2];) s, m( k9 @0 D8 ~9 l: D+ }; d# K5 T
    BYTE bfRcserved2[2];, M3 {5 U4 [  H$ w: N* [
    BYTE bfoffBits[4];
    2 r/ S3 e: |7 |1 K}BITMAPFILEHEADER;//定义文件头格式,用相似的数据类型代替系统定义的数据类型
    + R, o  w6 d% u* U: a  utypedef struct tagBITMAPINFOHEADER {6 x$ I. {! Q5 g* c0 S8 J
    BYTE biSize[4];
    8 v* C) {4 }# q9 U2 hBYTE biWidth[4];
      t" X- p' M+ C8 U0 uBYTE biHeight[4];
    $ C, T3 f, _" ]6 `3 a% x. F, ?" jBYTE biCompression[4];  h) C& W7 T+ W* \7 J  A" A& O: `
    BYTE biXPelsPerMeter[4];
    8 [* m) t* O* [; a7 a& f- _" eBYTE biYPelsPerMeter[4];
    5 G5 A; C" G  {' b2 NBYTE biClrUsed[4];8 h3 x7 n2 b1 f' h2 O& _4 g
    BYTE biClrImportant[4];9 A- z2 J: q% l4 |, Q& M
    }BITMAPINFOHEADER;//定义信息头格式,用相似的数据类型代替系统定义的数据类型
    0 L! J# }( N6 o7 c5 a% Ktypedef struct BitmapFile{
    - T/ k* Y  Z" H! e4 Q0 p" e2 \; _+ ]BITMAPFILEHEADER bmfheader;
    / j+ ?( s  O' |2 e4 {BITMAPINFOHEADER bminfoheader;
    3 [5 [) a' v! c3 NBYTE bitmapdata[3275520];
    2 X0 c: e, h2 g2 t; c}bitmap;//定义所处理图像文件对应BMP的文件格式8 @! Q, b; @1 K* r* I
    //主函数,将图像区数据读入B、G、R三个数组
    + ~( m* ~- I4 @int main()4 K5 [" [( m# ?. I
    {8 B, D1 C4 [4 R+ L  D3 S0 G% C
    bitmap *ample1;
    8 B/ s5 n% [. hFILE *fp, *fp1;3 c. O+ S" j4 }0 z* \: d" r
    BYTE R[1280][853],G[1280][853],B[1280][853];
    ; {/ h% ]! a0 x4 d( x4 i: Zlong k=0;; e3 Y, ^# b( A
    int i,j;9 c- [: y% F  V; i$ q$ z( \# [
    char name[20]="try.bmp";//读到新文件的文件名* E# v# x' n  A# A2 Q) {4 z" g- Q
    fp=fopen("D:\\ample1.bmp","rb");//以二进制打开读文件
    ' R4 }1 x) G+ P1 C1 Afp1=fopen(name,"wb");//为写建立一个新文件名/ Y& z! p, a* [& {
    if(! (ample1=new bitmap)){5 u3 {$ c$ K0 k( Q8 W6 j( C4 j% u
    cout<<"error"<<endl;return 0;4 r6 ?% `  _( A
    }- B: c5 Q1 e; b  l2 p$ T
    else
    4 M; Z4 G! s) m" v8 s! e+ P6 |9 _{7 l  a2 Z; w4 [/ D. G1 \7 m
    fread(ample1,sizeof(bitmap),1,fp);
    * T8 [. y" r, ^, b, Yfwrite(ample1,sizeof(bitmap),1,fp1);0 F; S& }) Y0 G' Q0 D( ^
    cout<<"********位图文件头格式:********"<<endl;
    7 R6 g( G1 m8 Qcout<<"位图文件的类型"<<ample1 -> bmfheader.bfType[0]<<ample1 -> bmfheader.bfType[1]<<endl;
    $ b$ C7 k- o1 S0 H+ n9 X* p8 ocout<<"位图文件的大小"<<Ary2DW(ample1 -> bmfheader.bfSize)<<"字节"<<endl;
    9 ]  j: b0 Z+ _) b! T5 x; v! r  hcout<<"********以下是图像数据区********"<<endl;* z5 t* X# \* l: \3 Y6 t
    //指定像素点,以16进制输出BGR值
    4 }1 ]. L. f% q+ o8 A6 ^* Hcout<<"像素点B通道的值"<<hex<<int (ample1 -> bitmapdata[0])<<endl;' @. @# g! g' U- b  m- y
    cout<<"像素点G通道的值"<<hex<<int (ample1 -> bitmapdata[1])<<endl; . h; S0 L1 T3 ]4 D% W
    cout<<"像素点R通道的值"<<hex<<int (ample1 -> bitmapdata[2])<<endl;: ]# ?& C1 `8 f
    //将图像区数据读入 R、G、B三个数组
      L7 m$ J: l2 U1 f6 s% u4 Rfor(i=1280; i>=0; i--)
      R& M+ a4 N; B8 R" I2 yfor(j=0; j<853; j++) 0 h' i7 i# r6 i& L
    {
    4 x  z8 d  ~# d5 j, J- G. oB[i][j]=ample1 -> bitmapdata[k++];   J4 \2 w$ ?% X: Q+ L5 g* L/ a" T
    G[i][j]=ample1 -> bitmapdata[k++];
    - F$ B  K" e6 {R[i][j]=ample1 -> bitmapdata[k++];
    + _( M) f% n) S}1 a' `& h! D8 p4 I
    //检查是否将图像数据读入数组  I8 f8 f+ ^' G
    cout<<"********以下是内存数组数据********"<<endl;9 y1 V! m/ n6 B; [
    cout<<"第一排第一个像素点B通道的值"<<int (B[0][0])<<endl;
    5 h7 t! O$ Q/ i; [: C5 K3 @3 ccout<<"最后一排第一个像素点R通道的值"<<int (R[1280][0])<<endl;: v9 ~1 W; U+ q9 K" _, ^. z
    return 1;
    8 B/ ?' j3 C7 V7 w' [* E& M1 w, [! A}
    $ S# u5 O6 P8 C8 _3 e3 N$ G+ I( Adelete ample1;2 u5 z- U* V3 a6 y- t3 c% `; E2 J, z
    fclose(fp); ; i5 d1 D' b1 ^$ l* S
    fclose(fp1);
    . x3 E& [) @& s7 ~0 H6 c5 ^}
    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-6-3 21:28 , Processed in 0.297475 second(s), 51 queries .

    回顶部