core_copyMakeBorder

[32bit] 画像の周りに境界線を形成します。

core_copyMakeBorder p1,p2,p3,p4,p5,p6,p7,p8

p1 = sptr : IntPtr src
p2 = sptr : IntPtr dst
p3 = int : int top
p4 = int : int bottom
p5 = int : int left
p6 = int : int right
p7 = int : int borderType
p8 = ARGS_SCALAR : Scalar value

(プラグイン / モジュール : OpenCvSharpExtern.dll)

解説

この関数は,入力画像を出力画像の中央にコピーします.コピーされたソース画像の左、右、上、下の領域は、外挿されたピクセルで埋められます。これは,この関数を基にしたフィルタリング関数が行っていること(オンザフライでピクセルを外挿すること)とは異なりますが,あなた自身の関数を含む他のより複雑な関数が,画像の境界処理を簡単にするために行っていることもあります. この関数は,src が既に dst の中央にある場合のモードをサポートしています.この場合,この関数は src 自身をコピーせず,単に境界を作成します.例えば,次のようにします: // 境界はすべての方向で同じであるとするint border=2;// 画像と境界の両方に合うように,より大きな画像を作成するMat gray_buf(rgb.rows + border*2, rgb.cols + border*2, rgb.depth());// dataMat gray(gray_canvas, Rect(border, border, rgb.cols, rgb.rows));// 画像を RGB からグレースケールに変換するecvtColor(rgb, gray, COLOR_RGB2GRAY);// その場で境界線を形成するcopyMakeBorder(gray, gray_buf, border, border, border, BORDER_REPLICATE);// 独自のフィルタリングを行う ......fragment注:入力画像が大きな画像の一部(ROI)である場合、この関数は ROI の外側のピクセルを使って境界線を形成しようとします。この機能を無効にして、あたかもsrcがROIでないかのように常に外挿するには、 borderType | BORDER_ISOLATEDを使用してください。他にもborderInterpolateExamples: samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cppを参照してください。

元関数名(C#): core_copyMakeBorder
元DLLエクスポート名: core_copyMakeBorder
参照元CSファイル: Internal\PInvoke\NativeMethods\core\NativeMethods_core.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) core_copyMakeBorder(
    cv::_InputArray* src, cv::_OutputArray* dst, int top, int bottom, int left, int right, int borderType, MyCvScalar value)
{
    BEGIN_WRAP
    cv::copyMakeBorder(*src, *dst, top, bottom, left, right, borderType, cpp(value));
    END_WRAP
}

情報

プラグイン / モジュールOpenCvSharpExtern.dll
バージョン1.00
作成日2021/11/30
著作者inovia
URLhttps://hsp.moe/
備考#include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as"
使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること
タイプOpenCVSharpラッパーDLL
グループNativeMethods_core
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\OpenCvSharpExtern.hs