Quantcast
Channel: 午後わてんのブログ
Viewing all articles
Browse latest Browse all 420

画像の使用色数を表示するアプリ作ってみた

$
0
0

画像の使用色数と使用数が多い上位10色を表示
イメージ 1
起動したところ
ここに画像ファイルをドロップする

画像は
イメージ 2
普通の写真画像、サイズは1024x768
これをドロップで

イメージ 3
使用されている色数が表示される
この画像は86151色だった


カウント開始ボタンを押すと
イメージ 4
使用されている上位10色が表示される
左の数値はその色のピクセルの数

イメージ 5
棒グラフみたいにしている

他の画像
イメージ 6
これも普通の写真画像なんだけど

イメージ 7
色が偏っていて

イメージ 8
グラフが意味をなしていないw
ほとんどの写真画像はこうなった


半透明ピクセルがある画像
イメージ 9

イメージ 13
透明具合

この画像ファイルのプロパティ
イメージ 10
透明度のアルファの値があるので32bitの画像

イメージ 11
透明度を無視する24bitでは4467色
だけど、正しいのは
透明度の違いも別カウントする32bitで17442色



透明度以外は全く同じ2色画像
イメージ 12

イメージ 14
透明具合

イメージ 15
24bitでは同じ色と判定されるけど
32bitでは正しく2色と判定
この前の記事、ピクセルフォーマットPbgra32で読み込むと半透明ピクセルの色が変わってしまうのはこれで気づいた


その他ピクセルフォーマットの画像
イメージ 16
Gray2

イメージ 17



イメージ 18
Gray4
イメージ 19


イメージ 20
Gray8
イメージ 21
普通のグレースケール画像

イメージ 22
Gray16
16bitグレースケールだけど擬似的なもので実質8bitなので
256色
イメージ 23
もし256色以上使った本当の16bitグレースケール画像だとしても
このアプリの画像読み込みはピクセルフォーマットBgra32で行っているので
正しい色数は表示できないはず


イメージ 24
indexed1
イメージ 25

イメージ 26
indexed8
イメージ 27
元は普通のjpg画像24bitを保存時にindexed8にしただけ
8bitだから最高で256色だけど173色しか使われていなかった



以前作った減色アプリで256色にした画像
イメージ 28
ピクセルフォーマットは同じindexed8

イメージ 29
うーん、1色足りない


イメージ 30
8色に減色
イメージ 31


イメージ 32
50色のはず

イメージ 33
合ってた
256色だけおかしいのはたまたま?

イメージ 34
元の画像
イメージ 35



ギットハブ
今回のアプリ(ヤフーボックス)



関連記事
半透明画像とWPFのPixelFormats.Pbgra32は相性が良くないかも ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15904871.html





Viewing all articles
Browse latest Browse all 420

Trending Articles