影像處理程式問題 |
答題得分者是:taishyang
|
ladesebid
一般會員 發表:2 回覆:3 積分:1 註冊:2006-08-14 發送簡訊給我 |
各位大大好:
我要寫一個程式,內容是一次讀取多張BMP
然後從這些BMP中,取出每張BMP中的第Y列Pixel
(Ex:第一張的第10列、第二張的第10列、第三張的第10列‧‧‧依此類推)
我把圖檔存入BMP[]中,由滑鼠從第一張BMP中決定要抓出哪一列
小弟觀念不是很清楚
請問從BMP[]中取出的一列Pixel怎樣寫會比較方便?
望大大們不吝賜教
以下是我的程式碼,最後一行的語法有問題
謝謝各位 <textarea class="cpp" rows="10" cols="60" name="code"> Graphics::TBitmap *BMP[100];
int bmpcnt; void __fastcall TForm1::OpenFile1Click(TObject *Sender)
{
OpenPictureDialog1->Execute();
int bmp_count=0; //計算開了幾張圖
bmp_count = OpenPictureDialog1->Files->Count; //這邊可知道你開多少張圖
bmpcnt=bmp_count;
for(int i=0;i
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ladesebid
一般會員 發表:2 回覆:3 積分:1 註冊:2006-08-14 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
又是新手?
新手為什麼不念書? 這裡是論壇,不是快快樂樂教學區吧? ===================引 用 ladesebid 文 章=================== ===================引 用 taishyang 文 章=================== 請問從BMP[]中取出的一列Pixel怎樣寫會比較方便? 假如橫列直行的話,可以用ScanLine取的一整列的pixel 站上有範例 這我就不清楚了 請問關於Assign的用法有什麼需要注意的嗎? 還是說 用什麼方法會比較好呈現? 我是bcb新手 程式也是從站上拼拼湊湊而成的 很多語法以及觀念都不是很了解 還請taishyang大多多指教
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
ladesebid
一般會員 發表:2 回覆:3 積分:1 註冊:2006-08-14 發送簡訊給我 |
===================引 用 taishyang 文 章 應該反問你為什麼要用Assign? 先謝謝你的回答 Assign可以將TempBitmap傳給Image2秀出,不曉得我說的對嗎? 下面是我修改過,用ScanLine寫出的 請教大大幾個問題 1. for(int i=0;i scanline有辦法抓行嗎?(抓直的) 我看書上都是抓一列一列.. ,還是有其他的語法? 謝謝 ^^ <textarea class="cpp" rows="10" cols="90" name="code">void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Graphics::TBitmap *TempBMP; //指標*TempBMP指向一個Bitmap TempBitmap=new Graphics::TBitmap(); //此*TempBMP所指的是一新的空白Bitmap TempBitmap->Width=720; TempBitmap->Height=480; TempBitmap->PixelFormat=pf24bit; //沒此行的話Image2會是白的 Byte *ptr1,*ptr2; StartX=X; //滑鼠按下的X座標 StartY=Y; //滑鼠按下的y座標 Label1->Caption=StartX; Label2->Caption=StartY; for(int j=0;j
編輯記錄
ladesebid 重新編輯於 2007-08-14 13:35:46, 註解 無‧
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ladesebid
一般會員 發表:2 回覆:3 積分:1 註冊:2006-08-14 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
先謝謝你的回答 Assign可以將TempBitmap傳給Image2秀出,不曉得我說的對嗎? 是的,所以你之前直接assign像素值就會有問題 下面是我修改過,用ScanLine寫出的 請教大大幾個問題 1. for(int i=0;iWidth*3;i ) //如果只用Image1->Width,結果圖只會出現左半部1/3, 請問為什麼? 因為pixel format是24bits, 所以每個像素點都會由R.G.B這3個像素組成,所以會多3倍的資料的量要處理 scanline有辦法抓行嗎?(抓直的) 我看書上都是抓一列一列.. ,還是有其他的語法? ScanLine沒有辦法一次抓一整行的資料 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |