c 03/10/17版
c 適当な３色だけで描かれた画像の中の、それぞれの色の部分の面積比
c などを求める。
c 例えば木橋の写真で、木部材の橋全体に占める割合や
c 木橋の全景に占める割合を求める場合は、まず、
c 橋の部分を切り出して背景白の画像に貼り付け、
c 木部材の部分を赤一色で塗りつぶし、その他の部材を黒一色で
c 塗りつぶした画像を ppm のアスキー形式で保存したものを
c   senyuu < hoge.ppm
c のように入力する。
c ----------------------------------------
c 但し、プログラムのデータ入力部分は、
c ppmファイルの各行のデータの個数がどういうふうになっているかに
c 応じて、書き換えなければならない。
c 以下は、横のピクセル数が6の倍数になっている画像（600*400とか）を
c Paint Shop Pro 8 ( http://paintshoppro.jp/ )
c で、ppm 形式に保存したファイルからの読み込みに対応させた例
c
        program senyuu
       implicit real*8 (a-h, o-z)
       dimension rgb3(2880000)
       character p3*2
          read(*,100) p3
100      format(a2)
           write(*,*) ' マジックナンバー：',p3
          read(*,*) m,n
          write(*,*) '     幅：',m
          write(*,*) '   高さ：',n
           mn=m*n
          read(*,*) max
          write(*,*) ' 最大値：',max
           mn6=mn/6-1
          do i=0,mn6
           read(*,*) (rgb3(18*i+j),j=1,18)
          end do
c
           moku=0
           nhoka=0
           nzenbu=0
c
          do i=1,mn
             nr=rgb3(3*i-2)
             ng=rgb3(3*i-1)
             nb=rgb3(3*i)
c 木部材のRGB階調値を指定
           if((nr.eq.150).and.(ng.eq.0).and.(nb.eq.0)) then
             moku=moku+1
           end if
c その他部材のRGB階調値を指定
           if((nr.eq.0).and.(ng.eq.0).and.(nb.eq.0)) then
             nhoka=nhoka+1
           end if
          end do
c
           write(*,*) '         全ピクセル数：',mn
           write(*,*) '     木部材ピクセル数：',moku
           write(*,*) ' その他部材ピクセル数：',nhoka
            nhasi=moku+nhoka
           write(*,200) ' 木部材／橋全体：',real(moku)/real(nhasi)
           write(*,200) '       橋／全景：',real(nhasi)/real(mn)
200        format(a, f5.3)
          end
c
