線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2691
推到 Plurk!
推到 Facebook!

daw檔 讀取及顯示的問題

答題得分者是:taishyang
qwedsa0861
一般會員


發表:3
回覆:1
積分:0
註冊:2009-04-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-12-16 21:09:07 IP:123.195.xxx.xxx 訂閱
各位好

小弟是bcb新手,最近在研究raw檔,我手中有一個input,大小是2040x2040,

目前第一步,把他讀進去之後顯示,但出來的結果,顏色跟原始不一樣,想請問一下是否有哪裡寫錯了。

我的code
[code cpp]
void __fastcall TForm1::Load1Click(TObject *Sender)
{
Graphics::TBitmap *TheBitmap = new Graphics::TBitmap();
int height = 1024;
int width = 1024;

ifstream getRawImage("1024_1024.raw", ios::binary); //開啟檔案
if(!getRawImage)
exit(1);

TheBitmap = Image1->Picture->Bitmap;
TheBitmap->PixelFormat = pf24bit;
TheBitmap->Height = height;
TheBitmap->Width = width;

for(int row = 0; row < height; row )
{
ucRawImage = (Byte*)TheBitmap->ScanLine[row]; //取得圖片第 y 軸的起始位置
for(int col = 0; col < width*3; col )
{
ucRawImage[col] = getRawImage.get();
//getRawImage.read((char*) &ucRawImage[col], sizeof(char));
}
}
}

[/code]

編輯記錄
qwedsa0861 重新編輯於 2014-12-16 21:10:14, 註解 無‧
qwedsa0861 重新編輯於 2014-12-16 21:11:48, 註解 無‧
qwedsa0861 重新編輯於 2014-12-16 21:47:49, 註解 無‧
qwedsa0861 重新編輯於 2014-12-17 22:27:23, 註解 無‧
qwedsa0861 重新編輯於 2014-12-17 22:27:56, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-12-25 15:38:57 IP:59.120.xxx.xxx 訂閱
1.文中提到 2040*2040但程式中卻是1024*1024?
2.TheBitmap = Image1->Picture->Bitmap; //這應該不需要
3.確認讀取的值是否正確對應到BGR(填入順序是BGR而不是RGB)的數值

以上3點應該可以看出問題




===================引 用 qwedsa0861 文 章===================
各位好

小弟是bcb新手,最近在研究raw檔,我手中有一個input,大小是2040x2040,

目前第一步,把他讀進去之後顯示,但出來的結果,顏色跟原始不一樣,想請問一下是否有哪裡寫錯了。

我的code
[code cpp]
void __fastcall TForm1::Load1Click(TObject *Sender)
{
Graphics::TBitmap *TheBitmap = new Graphics::TBitmap();
int height = 1024;
int width = 1024;

ifstream getRawImage("1024_1024.raw", ios::binary); //開啟檔案
if(!getRawImage)
exit(1);

TheBitmap = Image1->Picture->Bitmap;
TheBitmap->PixelFormat = pf24bit;
TheBitmap->Height = height;
TheBitmap->Width = width;

for(int row = 0; row < height; row )
{
ucRawImage = (Byte*)TheBitmap->ScanLine[row]; //取得圖片第 y 軸的起始位置
for(int col = 0; col < width*3; col )
{
ucRawImage[col] = getRawImage.get();
//getRawImage.read((char*) &ucRawImage[col], sizeof(char));
}
}
}

[/code]

系統時間:2024-11-23 16:19:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!