請問一下.要如何將RAW->JPG |
尚未結案
|
nickname
一般會員 發表:1 回覆:1 積分:0 註冊:2005-02-04 發送簡訊給我 |
我再寫一ㄍCCD影像擷取的程式,並且想要將截去的影像丟到PHP的網頁上
但我抓下來的圖檔是.RAW,這種形式的檔案帶太大了.因此希望有誰能教教我要如何做轉檔的動作(use C++),另外附上我所寫的程式碼,敬請指教:
void CServerDlg::OnButton3() //存圖 { int k; int j; // TODO: Add your control notification handler code here FILE *stream; if( (stream = fopen( "Cap_picture.raw", "wb" )) != NULL ) { for(k=0,j=230399;j>=0;k ,j--) { Data1[k]=Data[j]; } /* Write 10 member to stream */ fwrite(Data1, sizeof(char),230400, stream ); fclose( stream ); } else AfxMessageBox("Can't open file!"); } LRESULT PASCAL fpVideoCallback(HWND hWnd,LPVIDEOHDR lpVHdr) { CServerDlg *ptr; ptr=new CServerDlg; ::PostMessage(g_Hwnd,10001,0,0); for(int p=0;p<230400;p ){ Data[p]=lpVHdr->lpData[p];} //畫影像 if(!DrawDibBegin(hdd,hdc,-1,-1,&bmpinfo.bmiHeader,CAPWIDTH,CAPHEIGHT,NULL)) { AfxMessageBox("DrawDibBegin error!"); } if(!DrawDibDraw(hdd,hdc,0,0,320,240,&bmpinfo.bmiHeader,Data ,0,0,CAPWIDTH,CAPHEIGHT,DDF_SAME_DRAW | DDF_SAME_HDC)) { AfxMessageBox("DrawDibDraw error"); } if(!DrawDibEnd(hdd)) { AfxMessageBox("initDisplay DrawDibBegin Error!"); } return TRUE; }....這是上天的決定 發表人 - taishyang 於 2005/02/04 13:33:42
------
....這是上天的決定 |
nickname
一般會員 發表:1 回覆:1 積分:0 註冊:2005-02-04 發送簡訊給我 |
在附上攝影機CCD參數
//攝影機參數
bmpinfo.bmiHeader.biSize=40;
bmpinfo.bmiHeader.biWidth=320;
bmpinfo.bmiHeader.biHeight=240;
bmpinfo.bmiHeader.biPlanes=1;
bmpinfo.bmiHeader.biBitCount=24;
bmpinfo.bmiHeader.biCompression=0;
bmpinfo.bmiHeader.biSizeImage=230400;
bmpinfo.bmiHeader.biXPelsPerMeter=0;
bmpinfo.bmiHeader.biYPelsPerMeter=0;
bmpinfo.bmiHeader.biClrUsed=0;
bmpinfo.bmiHeader.biClrImportant=0; ....這是上天的決定
------
....這是上天的決定 |
m58610
初階會員 發表:22 回覆:83 積分:36 註冊:2003-09-07 發送簡訊給我 |
以前專題寫的程式
要用一個image將像素讀入然後存檔成BMP(BCB)
供你參考 raw -> image -> bmp
//--------------------------------------------------------------------------- #include如要存成jpg 只要做一些修改就可以了 #include "jpeg.hpp" TheJPEG= new TJPEGImage; TheJPEG->Assign(img1->Picture->Bitmap); TheJPEG->PixelFormat=jf24Bit; int quality=StrToInt(InputBox("JPEG品質","請輸入JPEG品質(1:最差,100:最好)","100")); ///手動輸入品質 if(quality<1) quality=1; if(quality>100) quality=100; TheJPEG->CompressionQuality=quality; TheJPEG->SaveToFile("RAW2JPG.jpg");發表人 - m58610 於 2005/02/04 18:22:02 發表人 - m58610 於 2005/02/04 18:24:36 |
bonbon
一般會員 發表:6 回覆:6 積分:2 註冊:2005-03-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |