作者dslin (dason)
看板C_and_CPP
標題[問題] C++讀圖檔問題~!
時間Tue Mar 31 10:28:44 2009
小弟最近開始學C++,想要利用它來讀一些圖檔例如:raw,tif等圖檔
以前有學過用fortran來讀圖檔做一些影像處理的運算,不過最近在用
Dev-C++ 來讀圖檔時覺得怪怪的,好像只有讀到一部分的pixel值,
其他有一大部分都是O,以下是小弟寫的程式:
#include<fstream>
#include <iomanip>
using namespace std;
int main()
{
ifstream fin;
const int row=480,col=640;
int i,j,bw[row][col],k[255],sum=0;
unsigned char gray[row][col] ;
fin.open("img.raw");
ofstream fout("jar.txt");
ofstream wout("kar.txt");
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
fin>>gray[i][j];
bw[i][j]=gray[i][j];
fout<<" "<<bw[i][j];
k[bw[i][j]]=k[bw[i][j]]+1;
}
}
for(i=0;i<255;i++)
{
sum += k[i];
wout<<" " << k[i]<<endl;
}
cout<<sum;
fin.close();
fout.close();
wout.close();
system("pause");
return 0;
}
不知道這樣寫有沒有問題,其他同學是用fortran來讀圖檔,我讀到的值
好像跟他們的不太一樣,不知道是那裡出了問題,
請版上的大大過目,這個問題一直困擾小弟很久了,希望版上的大大可以幫忙,
感激不盡~!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.132.97.26
→ MOONRAKER:>>是formatted input,讀取binary請用unformatted input 03/31 14:02
→ MOONRAKER:如ifstream.get() 03/31 14:04
→ dslin:感謝大大指教~!我試看看~! 03/31 19:19