HSV変換した画像か​ら特定の色のピクセル​数を数えたい

2 views (last 30 days)
大輝 隅岡
大輝 隅岡 on 23 Jul 2022
Commented: 大輝 隅岡 on 25 Jul 2022
画像中から特定の色を抽出して,そのピクセル数を数えるプログラムをつくりたいのですがうまくいきません.やりたいこととしては,添付画像をHSV変換し,赤い部分のピクセル数を数えるプログラムを作りたいです.RGB画像よりもHSV画像の方が特定の色を抽出しやすいと考え,HSV変換して行いたいと考えています.分かりにくい文章ですみませんが,どなたか教えていただきたいです。

Answers (1)

Atsushi Ueno
Atsushi Ueno on 23 Jul 2022
H (色相) が 0~360 度 ( rgb2hsv 関数の出力では 0~1 ) の内 0 度付近が赤です。
H (色相) が 0.00~0.02 と 0.98~1.00 のピクセルを「赤」と判定しました。
HSV = rgb2hsv(imread('image.png'));
RED = (HSV(:,:,1) <= 0.02) ...
| (HSV(:,:,1) >= 0.98);
sum(RED,'all') % 赤い部分のピクセル数
ans = 46521
numel(HSV(:,:,1)) % 画像のピクセル数
ans = 56882
imshow(~RED) % 黒い部分が赤色、白い部分が赤色以外。若干判定ムラが生じている
  1 Comment
大輝 隅岡
大輝 隅岡 on 25 Jul 2022
丁寧な回答ありがとうございます.このプログラムを元に頑張ってみます.ありがとうございました.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!