フレームを表示

L_AutoSegmentBitmap

フレームを表示

#include "l_bitmap.h"

L_LTIMGCOR_API L_INT EXT_FUNCTION L_AutoSegmentBitmap(pBitmap、pRect、uFlags)

pBITMAPHANDLE pBitmap;

/* ビットマップへのポインター*/

L_RECT* pRect;

/* セグメンテーションを実行する領域を指定している長方形へのポインター*/

L_UINT32 uFlags;

/* フラグ*/

ユーザーで特定されたimageで、長方形の領域のオートメーション化したセグメンテーションを実行します。結果は、リージョンとしてimageに適用されます。

パラメーター

説明

pBitmap

変更されるためにビットマップを参照文に引用しているビットマップハンドルへのポインター。

pRect

セグメンテーションを実行するビットマップの部分を指定するWindows RECT構造体へのポインター。

uFlags

今後使うため確保されます。0でなければなりません。

戻り値

SUCCESS

関数は成功しました。

<1

エラーが発生しました。リターンコードを参照してください

コメント

ガンクラスタのセグメントリージョンにとって、この関数は、CT/MRIイメージのために特に設計されました。

関数が指定された長方形内部にあることだけをセグメント化するため、選択される必要があるオブジェクトの全てを含む長方形に、pRectを示します。

孤立させる必要はあるオブジェクトとセグメントより多くのものを選択しません。

長方形は、imageの境界を上回ってはいけません;さもなければ、関数はERROR_INVALID_PARAMETERエラーを返して、実行しません。

結果として生じるリージョンがもはや必要でないとき、それはL_FreeBitmapRgnを呼び出すことによって開放されなければなりません。

必須のDLLとライブラリ

LTIMGCOR

ツールキットバージョンに基づいた正確なDLLとライブラリのリストについては、「アプリケーションとともに配布するファイル」を参照してください

プラットホーム

Win32、x64、Linux。

参照

関数:

L_SetBitmapRgnColor, L_HolesRemovalBitmapRgn, L_FreeBitmapRgn, L_ShrinkWrapTool 

トピック:

ラスター画像は機能します:リージョンの作成と使用

 

ビットマップリージョンの作成

サンプル

このサンプルはビットマップをロードして、それにL_AutoSegmentBitmap関数を適用します

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName


L_INT AutoSegmentExample(L_VOID)
{
   L_INT nRet;
   BITMAPHANDLE LeadBitmap; /*Bitmap handle to hold the loaded image*/
   L_RECT rcRect;             /*Rectangle to specify area on Bitmap*/


   /* Load the bitmap, keeping the bits per pixel of the file */
   nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("ImageProcessingDemo\\Image3.cmp")), 
      &LeadBitmap, sizeof(BITMAPHANDLE), 0,
      ORDER_BGR, NULL, NULL);
   if(nRet != SUCCESS)
      return nRet;

   //Specify rectangle parameters 
   rcRect.left = 50;
   rcRect.top = 100;
   rcRect.right = 100;
   rcRect.bottom = 150;

   //Apply the AutoSegmentBitmap Function
   nRet = L_AutoSegmentBitmap (&LeadBitmap, &rcRect, 0);
   if(nRet != SUCCESS)
      return nRet;

   /* Lighten the region so that we will see it */
   nRet = L_ChangeBitmapIntensity(&LeadBitmap,500, 0);

   /* Free the region */
   L_FreeBitmapRgn(&LeadBitmap);

   L_FreeBitmap(&LeadBitmap);

   return nRet;
}