ccfun.m

バージョン 1.0.0.0 (1.64 KB) 作成者: Herbert
Apply a function to connected components in one or more images
ダウンロード: 132
更新 2014/6/19

ライセンスの表示

ccfun Apply a function to connected components in one or more images

S = ccfun(fun, cc, I) applies fun to each connected component in cc and
I. I is a MxNxC matrix, typically C=1 or C=3 for RGB, and cc is a cell
where each element defines the indices of one connected component. That
is:

S(i) = fun(I(cc_x(i), cc_y(i), :))
where [cc_x(i), cc_y(i)] = ind2sub(size(I), cc{i});

S = ccfun(fun, cc, I1, ..., In) Similar, but now

S(i) = fun(I1(cc_x(i), cc_y(i), :), ..., In(cc_x(i), cc_y(i), :))

For efficiency this function uses no for-loops.

The application of the function is done using cellfun and cell2mat, fun
must return a uniform output.

Example:
I = rand(100, 100); % Some image
cc = {randi(100*100, 20, 1)}; % A conneted component with 20 pixels,
% probably not really connected ;)
cellfun(@(x) sum(x), cc, I)

ans =

13.0654

sum(I(cc{1}))

ans =

13.0654

Author: Herbert Kruitbosch
Copyright: Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
http://creativecommons.org/licenses/by-nc-nd/4.0/

If you want to change and share something in the script, e-mail me an
updated version and I may consider it.

引用

Herbert (2026). ccfun.m (https://jp.mathworks.com/matlabcentral/fileexchange/47004-ccfun-m), MATLAB Central File Exchange. に取得済み.

MATLAB リリースの互換性
作成: R2013b
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersRegion and Image Properties についてさらに検索
タグ タグを追加
バージョン 公開済み リリース ノート
1.0.0.0