=======================================================================
bITMAP DLL R GNXeV
=======================================================================
V1.1 9/1 2008 bm_image()ɁAPȂxNgƕA̎w\ɂ܂B
              Bitmap_R.dll͕ύX܂B
V1.0 9/1 2008

  ̃vÓARŉ摜t@C̓ǂݍނ߂ɍ쐬܂B
  ܂A؂˂āArbg}bv\֐܂B

http://mikeo410.wsp1.net/lumad/
AQƂB

ӁF
PD̃vOgƂɂĐ@Ȃ邱Ƃɂ͐ӔC
    Ƃł܂Bɂł̂́ÃvÓAƌ
    ƂłB^`̂ɂ́A΃\[XR[h肵܂B
QD\tgEGÁA݂Ɋ֘AĂAꂼꌠ`ݒ肳Ă܂B
    ꂼAp҂̏L錠͈̔͂łpBɂ́A쐬
    ȊOɂĉ̉e͂܂B쐬ɂẮA
    płȂ΁ARɂpBgpړIm点΃\[X
    R[h肵܂B

RD傫ȉ摜f[^ǂݍނƁAR̋NIɎԂ悤ɂȂ
    ܂BXNvg̕ϐɊ蓖ĂꂽlׂĕۑAA邽߂
    BR̍ĊJɕsvȂAȗvuSẴIuWFNg̏v
    邩Arm(IuWFNg)ō폜ĂB
SDbm_image()ŁAmain="}̃^Cg"ƃIvVt܂A{
    邱Ƃ܂B́Aplot()ȂǊ{IR̊֐ł
    łBiC^[lbgɂ́AR\[̕΍ƂāAu
    Wvuvt@XvMS GthicIAetc/ɂRconsoleA
    RdevgaARprofile.sitẽtHgݒMS Gthicɂ邱ƂoĂ܂
    ɂ͗ǂ܂Bj
    Ct̂́Aut@CvuVXNvgvŁA\
    uRGfB^vォA}EX̉E{^j[AuJ[\sA܂͑I
    𒆂RR[h̎svꍇɒu܂B
    IĂꍇOKŁAIPɃJ[\̂ssƎgpƂ
    ɉ܂BǂARGfB^J[\̈ʒuǂݍŁAR\[
    Ɉڂɖ肪̂ł͂ƎvĂ܂B

F
  Windows XP
  R 2.7.2
  .net framework

t@C\F
  PDBitmap_R.dll
      ۂɁA摜t@CǂݍޏWindows̃_Ci~bNN
      CułB
  QDBitmap_R.R
      R̃XNvgłB
  RDReadme.txt
      ̃t@CłB

CXg[F
  _E[hBitmap_Rxx_xx.zip𓀂3̃t@CWJ܂B
  Bitmap_R.dllABitmap_R.R AR̃[LOEfBNgɃRs[
  BŏIłB

  R̃[LOEfBNǵA
  getwd()
  ŁAmFł܂Bɐݒ肵Ȃ΁A"}ChLg"ɓA
  [1] "C:/Documents and Settings/xxxxx/My Documents"
  ƁA\܂B
  ꂪsւȂAugv̌㔼̋Lq̕@ŁAύXł܂B
  

gF
  R̃R\[EEChE
  > source("Bitmap_R.R")
  ƁA͂܂B
  Bitmap_R.dll[hABitmap_R.RɋLqꂽ֐LɂȂ܂B

  > bm_image
  ̂悤Ɋ֐͂ƁA֐̃XNvg\܂B
  ܂A
  C:\Program Files\R\R-2.7.2\etc\Rprofile.site
  ɁA
  setwd("C:/R_WORK")
  source("Bitmap_R.R")
  ĂR̋Nɓǂݍ߂܂B(C:/R_WORKɁABitmap_R.dllA
  Bitmap_R.RƂāB)

֐F
PDbm_read("t@C")
    Ŏw肵摜t@CǂݍŁArbg}bvԂ܂B
    bitmap <- bm_read("thin.bmp")
    ǂݍ񂾃rbg}bv́Aȉ̂悤ȍ\łB
    str(bitmap)
      List of 5
      $ width : int 245
      $ height: int 183
      $ h_dpi : int 96
      $ v_dpi : int 96
      $ rgb   : int [1:3, 1:44835] 255 255 255 255 ...

QDbm_image(bitmap, width, height)
    bm_read()̕ԂXgAimage()gĕ`悵܂B
    ̏ꍇ́APbitmapw肵ĂB
    xNgbitmapɎw肵ꍇ́AwidthAheightw肵ĂB
    ̂ƂAxNgs̏ꍇRGBw肳ꂽ̂ƌȂ܂B
    PȂxNg̏ꍇ́A0255ŃO[XP[\킷̂Ƃ݂Ȃ
    ܂B

    source("Bitmap_R.R")
    bm2 <- bm_read("2.bmp")
    bm_image(bm2) #ǂݍ񂾌`͂̂܂ܕ\ł܂Bi܂ށj
    #Zʂo͂ɂ́Amatrix()ŁA3s̍sg܂B
    gray <- bm2$rgb * c(0.299,0.587,0.23)
    gray <- gray[1,]+gray[2,]+gray[3,] 
    windows(5,5)
    b <- matrix(0,nrow=3,ncol=length(bm2$rgb[1,])) #3s̍sp
    b[1,] <- gray  #R
    b[2,] <- b[1,] #G
    b[3,] <- b[1,] #B
    bm_image(b,bm2$width,bm2$height,main="O[XP[")



ڍׁF
  ̊֐́A.netBitmapNX̃RXgN^ŊJ摜t@C
  J܂BĴ́AuyCgvȂǂŊJ`ɂȂ܂B
  BitmapNXGetPixel()\hœColor^̃f[^R,G,BԂ
  ܂B
  Format1bppIndexed̂悤ɒڐFȂꍇAGetPixel()́A
  R,G,BlԂ܂Bꂼ0255ŁÁARAGABłB
  Rrgb()̈01ftHgȂ̂ŒӂĂB
  ܂ATOPBOTTOM֌āAiEjɃXL
  o͂܂BR̐̍ẂAɌđ傫Ȃ̂Œӂ
  KvłB
  ̐Ff[^^ł́A(n,1:3)̌`ʓIȂ悤łB
  ł́A(1:3,n)̌`Ă邱ƂɒӂĂB
  ́Awindows̃OtBbNXix,yjōWw肵Ax(A)
  ɕω邱Ƃ炫Ă܂B
  sAƍlƁAwindows̃OtBbŃA(JA[)ɂȂĂ܂B
  (JA[)ƂɁA(R,G,BjA̕тARGB̏AJ
  A[̏ƐiނƂɂĂ܂B

ȏ
