主要内容

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

半精度でソーベル法による検出検出

Matlab®关数关数关数关数关数かられれれれれme me me me关数关数关数使用たたイメージのの検出検出について说明说明ますます。検出検出検出

サードパーティの条件

必须

Cuda Mexをををします。のサードパーティ要件が适用され。。。

  • 计算能力6.0以上cudanvidia®GPUおよびおよび

オプション

スタティックライブラリライブラリまたはまたは可能ファイルファイルファイル以外以外以外について,,この例では以下以下ののももも适用适用

gpu环境の検证

この例するに必要なおよびが正しく设定れれていることをを検证検证,,,Coder.CheckgPuinstallを使用し。

envcfg = coder.gpuenvconfig('主持人');envcfg.basiccodegen = 1;envcfg.quiet = 1;coder.checkgpuinstall(envcfg);

ソーベルエッジ検出アルゴリズム

ソーベルエッジ検出アルゴリズムSoBeLedgedEtectionalg.m2次元イメージでで次元次元空间勾配が行わます。このこの演算はは,,,イメージイメージ内のエッジエッジに相当相当相当するするする空间空间

类型SobeLedgedEtectionalg
函数edgeimg = SobeLedgedEtectionalg(IMG,Thresh)%#codegen%sobeLedgedEtection示例MATLAB函数用于边缘检测。%版权2018 The MathWorks,Inc。Kern =一半([1 2 1; 0 0 0; -1 -2 -1]);%找到水平和垂直梯度。h = conv2(img(:,:,:,2),kern,'same');v = conv2(img(:,:,:,2),kern','same');%找到梯度的大小。e = sqrt(h。*h + v。*v);%阈值边缘edgeimg = uint8((E>阈值) * 240);结尾

ソーベルエッジアルゴリズムは,,つのつの直交カーネルカーネルカーネルmaskxMaskyを使用て入力イメージの水平勾配勾配resxと垂直方向勾配Resy计算ますこのアルゴリズムは,フィルター处理をしし,勾配勾配のの大き大き大きささを计算计算してしきい値値を适用适用しし,エッジ

rgba rgbaパックされた优先顺序へデータのパックパック

标准のimreadコマンドをしてを読み取ります。imreadrgb的rgbチャネルをピクセルににににつのつの整数で表し整数ののののの范囲范囲范囲ははははは范囲范囲は范囲范囲范囲范囲范囲〜~255〜ですですですですです。単纯に入力入力入力入力をををををををををを型型型型型にキャストキャストキャストするするするはは,イメージを0 ~1ののにスケーリングでき。。。

im = imread('peppers.png');数字();图像(IM);受损=一半(IM)/255;阈值=一半(100)/255;

关数のcuda mexのの生成

关数SobeLedgedEtectionalgのcuda mexををするには,,コードコード构成オブジェクト作成,,代码根Cuda Compute 6.0以上以上以上以上に実行と生成生成ををを型型データデータデータ型ををコード生成生成生成ととととと计算能力プロパティを'6.0'に设定。半精度の场合,,,コードコードコードするののメモリメモリ当当(malloc)モードはモード''iNcteTe'iNcteTe'''ににに设定设定

cfg = coder.gpuconfig('Mex');cfg.gpuconfig.computecapability ='6.0';cfg.gpuconfig.mallocmode ='离散的';代码根-configCFG-args{撞击,阈值}SobeLedgedEtectionalg;
代码生成成功。

mex关数の実行

mex关数生成た后,そのその元ののエントリエントリエントリ关数と同じ机能があることこと検证検证できできできますsobeLededEtectionalg_mexを実行,结果プロットします。

OUT_DISP = SOBELEDGEDETECTIONALG_MEX(损坏,阈值);imagesc(out_disp);

mexメモリのクリア

メモリにれ静的ネットワークをクリアし。。

清除梅克斯;

参考

关数

オブジェクト

关连するトピック