簡単な処理概要を説明
原画像を読み込む
まずは、原画像がどの様になっているか確認します。
全体的なコードは、最後の方で掲載します。
#原画像はこんな感じ(ここでは意味を理解しなくても大丈夫です)
img = cv2.imread('DSC_0948.jpg')
plt.figure(figsize=(10, 8))
#imageの形状確認
print(img.shape)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
■原画像
HSV色座標系の情報をヒストグラム出してみる
明るさ(輝度)、色相、彩度の分布が分かる、HSV色座標系のヒストグラムを表示します。
処理の流れは以下の通り
・画像を読み込む
・OpenCVはBGR画像のためRGB画像に変換する
・hsv表色系に変換
hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV) # hsv表色系に変換
・輝度、色相、彩度ごとの色情報を取得する
・パーセントタイルを求める。
このプログの実装例として、パーセントタイルは5%、50%、95%で取得しています。
以下のヒストグラムとパーセントタイルを比較します。
{'h_per_5': 68.0,
'h_per_50': 110.0,
'h_per_95': 134.0,
's_per_5': 68.0,
's_per_50': 110.0,
's_per_95': 134.0,
'v_per_5': 42.0,
'v_per_50': 172.0,
'v_per_95': 221.0}
上図を見ると明るさ(Value)の値が全体的に分布しています。
明るさのパーセンタイル95パーセントの値(v_per_95)が221.0(明るさの最大は、255)なので明るめの画像と言える
もう一度、ヒストグラムの画像を表示します。
プログラムコードなど、詳細な情報が知りたい場合は、最後の方に掲載しています。
暗い画像でHSV色座標系のヒストグラムを検証する
「HSV色座標系の情報を出してみる」のところでは、以下の画像について
HSV色座標系のヒストグラムを表示しました。
今度は、暗めの画像を表示します。
![]() |
あ!今度は輝度(Value)が、左側に寄ったね。
輝度のパーセントタイルの95%(v_per_95)を見ると、150.0になっているから、全体的に暗いといえるね
{'h_per_5': 0.0, 'h_per_50': 100.0, 'h_per_95': 175.0,
's_per_5': 0.0, 's_per_50': 100.0, 's_per_95': 175.0,
'v_per_5': 58.0, 'v_per_50': 113.0, 'v_per_95': 150.0}
明るさを検出するためのパラメータの調整は、パーセントタイルの値を変更します。
このようにして、プログラムで暗い画像なのか判定できるようになります。
暗い画像を明るくしてみる
暗いことがわかっただけでは、意味がありません。
暗かったら明るめに補正したと思うものです。
ここでは、暗い画像を明るくする方法を記載します。
ガンマ補正をして明るくしたり暗くしたりします。
くわしい実装方法は、このあと紹介するソースコードをみてください。
ガンマ値を1以上の数字にした結果、明るくすることができました。
■補正前の画像
■ガンマ値2.0で補正して明るくした画像
ガンマ値を上げるほど明るくなると言えます。
逆に暗くしたい場合は、ガンマ値を1未満の値を設定して調整します。
>>Udemy・Pythonで学ぶOpenCVでの画像処理入門
全体的な実装例
これまで解説してきたことを実装します。
![]() |
ぶっちゃけ、いままでの解説必要なくねぇ?
この章だけあればよかったんじゃねぇ?(笑)
![]() |
それ言われてしまうと元も子もないないですが・・・
独学で挫折した人向け・AI(機械学習)を短期間で学ぶ方法
PythonをAI(機械学習)について、短期間で効率的に学ぶ方法を紹介します。
それは、以下のようなサービス、プログラミングスクールを利用することです。
プログラミングスキルを習得している人でも機械学習の習得は、難しいため、独学で迷うよりは、プロに教えてもらったほうが遥かに最短経路で身につけることができます。
\AI(機械学習)を学べるプログラミングスクール5選/
イメージ | スクール名 | 学べる内容 | 受講形式 | 特徴 | 料金めやす | オススメする人 |
---|---|---|---|---|---|---|
![]() |
.Pro(ドットプロ) | WEB開発 機械学習(AI) |
教室授業 | ✔教室による対面授業 ✔WEB開発と同時にAIも学べる |
AI×Django コース |
✔仲間と一緒に学びたい ✔AIありのWEBシステムを作りたい |
![]() |
Aidemy Premium Plan | WEB開発 機械学習(AI) |
オンライン | ✔申し込んだ講座以外のカリキュラムも学べる ✔給付金制度を利用して最大70%支給あり |
AIアプリ開発講座 |
✔AI(機械学習)について広く学びたい |
![]() |
AIジョブカレ | 機械学習(AI) 数学、統計学 |
教室授業、オンライン | ✔10万円台から受講可能 ✔数学や統計学を学びたい人向けの講座あり |
機械学習講座 |
✔Python,数学、統計学など基礎から学びたい ✔授業形式で講師から学びたい ✔受講料を抑えたい |
![]() |
テックアカデミー | WEB開発 機械学習(AI) Unityでゲーム開発 |
オンライン | ✔AI以外にPHP,Unity,C言語など、主要な言語を学べる ✔料金が10万円代から |
Python+AIコース |
✔AI(機械学習)以外にも学びたいものがある ✔できる限り安い金額で学びたい ✔マイペースで学びたい |
![]() |
侍エンジニア | 機械学習(AI) ブロックチェーン |
オンライン | ✔現役エンジニアが入学から最後まで寄り添ってサポート ✔ブロックチェーンも学べる |
AIコース 12週間〜 ¥698,000〜 |
✔マンツーマンで教えてほしい ✔ポートフォリオのサポートが欲しい ✔ブロックチェーンにも興味がある |
>>より詳しく5つのスクールについて知りたい方は、以下をクリック!
まとめ
以上、OpenCVを使って暗い画像の検出、明るさの調整、さらに、輝度、色相、彩度のヒストグラムに表示する方法まで解説しました。
→VAE、GAN、DCGANも学べるAIジョブカレ!ジュブカレの紹介で転職成功で授業料無料!
付録:kaggleってなに?
冒頭に「kaggle」という言葉が出てきました。
kaggleとは、AI技術者のためコミュニティサイトです。
世界中のAIの技術者が交流をしています。
kaggleでは、コンペがあり、AI技術を競い合っています。コンペで入賞すると100万円くらいの賞金がもらえるため世界中の人達が挑戦しています。
入賞できなくても、上位に入るとメダルという称号を得ることができるため、転職、AI関連の仕事を受注するのに有効です。
AIの知識なんてまったくないよ?
そんな人は、初心者向けにkaggleのチュートリアルがあるのでそれを学んでも良いです。
しかし
・英語を読むのが億劫だ
・pythonの基礎から勉強したい
・AIの基礎の基礎から入りたい
そんな人は、以下の記事がおすすめです。