全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2499
推到 Plurk!
推到 Facebook!

Opencv產生的視窗位置

缺席
moonsea
一般會員


發表:11
回覆:15
積分:5
註冊:2007-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-08 13:35:24 IP:140.127.xxx.xxx 訂閱
請問如果opencv在與bcb一起始用,
在form1的按鈕寫入opencv開圖的程式碼,
那麼新影像會秀在新建的視窗中(opencv所建),
那麼要怎麼把新的視窗可移動範圍鎖定在原本bcb的form1的範圍內呢?
(就像是phtoshop圖形只能在工作區移動)還是需要bcb動態產生新的form呢?

以下為bcb跟opencv一起使用作為開圖的程式碼

[code cpp]
IplImage* iplImg;
if(OpenPictureDialog1->Execute())
{
iplImg=cvLoadImage(OpenPictureDialog1->FileName.c_str(),3);
Img1->Picture->Bitmap->Height=iplImg->height;
Img1->Picture->Bitmap->Width=iplImg->width;
Img1->Picture->Bitmap->PixelFormat=pf24bit;
}
int offset=0;
if(iplImg!=0)
{
for(int y=0;yheight;y )
{
//在bcb image上顯示
memcpy( this->Img1->Picture->Bitmap->ScanLine[y]
,iplImg->imageData offset,iplImg->width*3);
offset=offset (iplImg->width)*3;
}

Img1->Refresh();
//開新視窗
cvNamedWindow( OpenPictureDialog1->FileName.c_str(),1);
//在新視窗上顯示影像
cvShowImage( OpenPictureDialog1->FileName.c_str(),iplImg);
cvWaitKey(0);
}
cvReleaseImage( &iplImg );

[/code]

moonsea
一般會員


發表:11
回覆:15
積分:5
註冊:2007-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-21 08:47:52 IP:140.127.xxx.xxx 訂閱
還是用比較笨的方式以new Graphics::TBitmap 把處理後的影像轉到 image元件上做顯示比較方便。
g9412747
初階會員


發表:3
回覆:28
積分:36
註冊:2009-02-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-03-18 13:02:00 IP:59.120.xxx.xxx 訂閱
原則上用findwindow去找視窗的title名稱,取得Handle
再去SetWindowPos就可以了!
系統時間:2024-11-25 12:43:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!