2017-04-02 6 views
0

のは、私がthis oneのようにボールのイメージを持っているとしましょう:私は色のグループにボールの色を分けたい画像をカラーグループに分割する方法は?

ball

。この場合、2つの主要なカラーグループ、「ブラウン」と「ホワイト」が必要です。 "茶色の"グループにはすべての茶色のピクセルがあり、 "白い"グループにはすべて白いピクセルがあります。 私はこの作業にmatlabを使用しています。私が考えたやり方は次のとおりです:

  1. RGBチャンネルを見てください。私は明らかにいくつかのグループを見ることができるかどうかを調べるためにscatterを使ったが、私はしなかった。
  2. バイヤーバリューを見る。しかし、いずれのグループも見ることができませんでした。エッジ検出器を実行するためには、
  3. 次に、それぞれの囲まれた領域で、ピクセルの平均を見つけます。同じ平均値を持つ領域(特定の閾値内)は同じグループに属します。それは動作するように見えたが、多くの場合それはしなかった
  4. 他のアイデア?
+0

多くの色に基づく画像分割の方法が存在する画像の白い部分のため

、あなたはkmeansを[example]に使うことができます(https://www.mathworks.c om/help/images/examples/color-based-segmentation-k-means-clustering.htmlを参照してください)。もっとgoogleを検索してください。 – user2999345

+0

あなたの写真を何個のグループに分けたいですか?常に2? –

+0

関連するQA:[RGB値の基本色名](http://stackoverflow.com/a/37476754/2521214)を見れば簡単にハックできますが、本質的には色に基づいたセグメンテーションが必要です。フラッドフィルに似ていますが、いずれかの色が開始点の色から2つの閾値(絶対値と相対値)に基づいてあまりにも遠すぎると停止します。 ROIが必要な場合は、元の画像をそのまま残して、ラベルに直接記入してラベルを付けることができます。 – Spektre

答えて

0

このタスクは、セグメンテーション、あなたのケースで各色がセグメントで、セグメントは常に連続していないと呼ばれています。

Matlabのセグメント化の例を検索すると、多くのコード例と定理が得られるはずです。

1つのこと、グラウンド・トゥルース・ソリューションはありません。主観的な問題であるため、イメージごとにいくつのセグメントがあるかはわかりません。一般的なケースでは、イメージをカラーセグメントに分割するカラー値に対してクラスタリングアルゴリズムを実行することができます。グループ数を自動的に見つけるアルゴリズムがあります。イメージのカラーグループ数に適しています。

クイック検索は、彼らはあなたがアイデアを始めることができ、これらの作品をもたらした:

Image segmentation with matlab

Using EM for image segmentation

0

画像分割は、あなたのイメージがシンプルであれば、色分離を治療するための正しい方法になりますが、あなたはブルートフォースをしようとすることができます。

ここでは、HSVに変換すると、画像を扱いやすくなります。

I=imread('ball.jpg'); 
H=rgb2hsv(I); 
% separate dimensions 
h=H(:,:,1); 
s=H(:,:,2); 
v=H(:,:,3); 

% color conditions 
v(v<0.8 | s>0.7 | h>0.7)=NaN; 
h(isnan(v))=NaN; 
s(isnan(v))=NaN; 

% convert image back 
W=cat(3,h,s,v); 
White_image=hsv2rgb(W); 
figure; imagesc(White_image); 

enter image description here

とブラウンパーツのため:

% separate dimensions 
h=H(:,:,1); 
s=H(:,:,2); 
v=H(:,:,3); 

% color conditions 
v(s<0.6 | v>0.8)=NaN; 
h(isnan(v))=NaN; 
s(isnan(v))=NaN; 

% convert image back 
B=cat(3,h,s,v); 
Brown_image=hsv2rgb(B); 
figure; imagesc(Brown_image); axis off 

enter image description here

関連する問題