MATLAB Answers

木の輪郭検出について

9 views (last 30 days)
蚊 石
蚊 石 on 24 Aug 2020
Commented: 蚊 石 on 11 Sep 2020
木の輪郭検出を現在試みてはいるのですが、背景や地面などの要素により上手く検出できません。何か良い案があれば教えて欲しいです。

  2 Comments

Shunichi Kusano
Shunichi Kusano on 24 Aug 2020
可能でしたら今試されている画像と現状の結果を添付いただき、具体的にどういうアルゴリズムを試していて、どこがうまくいってないかを記載していただくと、コメントも集まりやすいかと思います。
蚊 石
蚊 石 on 24 Aug 2020
私の知識レベルでは、現状このレベルのプログラミングしかできません
%グレースケール処理
RGB = imread('test2.jpg'); %画像の読み込み
a = rgb2gray(RGB); %グレースケール化
%ノイズ除去
J = imnoise(a,'salt & pepper',0.02);
Kaverage = filter2(fspecial('average',3),J)/255;
GRAY = medfilt2(J);
%Sobelフィルタ
Sobel_x = [-1 0 1; -2 0 2; -1 0 1]; %x方向
Sobel_y = [-1 -2 -1; 0 0 0; 1 2 1]; %y方向
%ノルム計算
Norm = zeros(size(GRAY,1),size(GRAY,2)); %ノルム格納配列
for i = 2:size(GRAY,1)-1 %行ループ
for j = 2:size(GRAY,2)-1 %列ループ
Localmat = [GRAY(i-1,j-1) GRAY(i,j-1) GRAY(i+1,j-1); GRAY(i-1,j) GRAY(i,j) GRAY(i+1,j); GRAY(i-1,j+1) GRAY(i,j+1) GRAY(i+1,j+1)]; %計算領域の輝度値
Norm(i,j) = norm([sum(sum(double(Localmat).*Sobel_x)),sum(sum(double(Localmat).*Sobel_y))]); %ノルム計算,格納
end
end
clear GRAY i j Sobel_x Sobel_y Localmat; %メモリ解放
%結果出力
Ave = mean(mean(Norm)); %ノルム平均値
Norm(Norm>=Ave) = 255; %平均値以上
Norm(Norm~=255) = 0; %平均値未満
Norm = uint8(Norm); %配列の型変換
imshow(Norm);
clear;

Sign in to comment.

Accepted Answer

Shunichi Kusano
Shunichi Kusano on 26 Aug 2020
添付の画像拝見しました。
前提としてかなり難しいと思います。試されているのはグレースケール画像でのエッジ抽出かと思いますが、他に思いつくアプローチとしましては、色によるセグメンテーション(https://jp.mathworks.com/help/images/ref/colorthresholder-app.html?s_tid=srchtitle)、テクスチャによるセグメンテーション(https://jp.mathworks.com/help/images/texture-segmentation-using-texture-filters.html)くらいでしょうか。ただ、両方ともうまくいかない気がします。その場合は深層学習を試すしかないかと思います。
補足ですが、image processing toolboxをお持ちなら添付いただいたコードにあるエッジ抽出プログラムはedge関数で行うことができます。

  4 Comments

Show 1 older comment
蚊 石
蚊 石 on 1 Sep 2020
返信ありがとうございます
今回の目的としては原木の歪みから価値を算出するというものです。
Kenta
Kenta on 8 Sep 2020
なるほど、ありがとうございます。おもしろそうな課題ですね!
蚊 石
蚊 石 on 11 Sep 2020
重ねて質問させていただきたいのですが、深層学習を行うにあたってどのような手法を試みたらよいのでしょうか

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!