イメージをMatlabにロードし、ピクセルを緑色で1にマークし、0のまま残り、最終イメージを表示する必要があります。これどうやってするの?Matlabで緑のピクセルを1に設定するにはどうすればよいですか?
0
A
答えて
2
これは画像上のビットと、ピクセルが緑色であるかどうかを判断する基準に依存します。ピクセルは緑のみですが、青または赤はありませんか?もしそうなら、ここに一つの方法があります。画像をロードし、色を分離することにより、
スタート:
image = imread('your_image.jpg');
red = image(:,:,1);
green = image(:,:,2);
blue = image(:,:,3);
その後、赤や青、緑ではなく、持っているピクセルを見つける:あなたは緑の異なる定義を持っている場合は
only_green = green & ~(red | blue)
をこの2番目のステップを適宜変更することができます。
結果の行列を画像として表示するには、imshow
を使用します。物事をより面白くすることについては
1
、私は以下のソリューション提案:
- は、RGBからHSVへの入力画像を変換します。
- HSV色空間の緑色のピクセルをマークします(HSV色空間では、黄色(他の色:赤、緑、青)以外の色を選択できます)。緑を強調するために
、私は、グレースケールに他の色を設定します。ここでは
は私のコードです:
RGB = imread('peppers.png');
HSV = rgb2hsv(RGB); %Convert RGB to HSV.
figure;imshow(RGB);title('Original');
%Convert from range [0, 1] to [0, 255] (kind of more intuitive...)
H = HSV(:, :, 1)*255;
S = HSV(:, :, 2)*255;
V = HSV(:, :, 3)*255;
%Initialize to zeros.
Green = zeros(size(H));
%Needed trial and error to find the correct range of green (after Google searching).
Green(H >= 38 & H <=160 & S >= 50 & V >= 30) = 1; %Set green pixels to 1
figure;imshow(Green);title('Mark Green as 1');
%Play with it a little...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Gray = rgb2gray(RGB); %Convert to gray-scale
R = RGB(:, :, 1);
G = RGB(:, :, 2);
B = RGB(:, :, 3);
Green = logical(Green);
R(~Green) = Gray(~Green);
G(~Green) = Gray(~Green);
B(~Green) = Gray(~Green);
RGB = cat(3, R, G, B);
figure;imshow(RGB);title('Green and Gray');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
結果:
関連する問題
- 1. Googleマップ(砂丘と緑)でゴルフコースのスタイルを設定するにはどうすればよいですか?
- 2. linesizeを-1に設定するにはどうすればよいですか?
- 3. どのように緑色のピクセルを変更するには、黄色の色にペッパーのイメージでmatlab?
- 4. Tkinter Entryウィジェットの幅をピクセル単位で設定するにはどうすればよいですか?
- 5. Win32ダイアログのサイズをピクセル単位で設定するにはどうすればよいですか?
- 6. Direct3Dテクスチャ内の単一ピクセルの色を設定するにはどうすればよいですか?
- 7. MATLABでプロットのデフォルトの線種を設定するにはどうすればよいですか?
- 8. Matlab:散布図で凡例の色を設定するにはどうすればよいですか?ここ
- 9. jqueryの各ループで1を1ずつ設定するにはどうすればよいですか?
- 10. ワンプアイコンを緑色にするにはどうすればいいですか?
- 11. RGBイメージのピクセルが緑色であるかどうかを確認するにはどうすればよいですか?
- 12. EntityFrameworkとの1対1のオプションの関係を設定するにはどうすればよいですか?
- 13. 最初のユーザーのデータIDをデフォルトで1に設定するにはどうすればよいですか?
- 14. ページの右側に1ピクセルのエッジを削除するにはどうすればよいですか?
- 15. 幅がパーセンテージのdivに1ピクセルの枠線を追加するにはどうすればよいですか?
- 16. Excel:行の特定の色(緑色)の出現をカウントするにはどうすればよいですか?
- 17. Matlab遺伝的アルゴリズムの制約を設定するにはどうすればよいですか?
- 18. Selenium WebDriver:FireFoxのレール構成でelementScrollBehaviorを1に設定するにはどうすればよいですか?
- 19. DEBUGビルド用にのみcmakeでGLIBCXX_FORCE_NEW = 1を設定するにはどうすればよいですか?
- 20. Google Chromeで1ピクセルのマージンを修正するにはどうすればよいですか?
- 21. raphael.jsでフォントテキストを10ピクセルでなく10ポイントに指定するにはどうすればよいですか?
- 22. Libharuでトランスフォーメーションマトリックスを設定するにはどうすればよいですか?
- 23. UIImageViewでUIGestureRecognizerを設定するにはどうすればよいですか?
- 24. ダイアログでButto.onClickListenerを設定するにはどうすればよいですか?
- 25. Glassfishでログレベルを設定するにはどうすればよいですか?
- 26. Razor:ValidationSummaryでクラスを設定するにはどうすればよいですか?
- 27. Dockerfileで$ PS1を設定するにはどうすればよいですか?
- 28. STOMPでActiveMQを設定するにはどうすればよいですか?
- 29. MEFでPrivateBinPathを設定するにはどうすればよいですか?
- 30. HttpWebRequest.GetRequestStreamでタイムアウトを設定するにはどうすればよいですか?