概要
色覚異常の方にとって見えにくい部分を見つけ出してくれるやつを作りたい話です。
使用技術
C++, OpenCV
色覚異常とは
正常とされる大勢の人が認識している色に対して、特定の色が異なって見えてしまう状態のことを色覚異常という。
日本では、日本人全体のうち男性の約5%(20人に 1人)女性の約 0.2%(500人に 1人)の割合で色覚異常であると言われている(らしい)。
↑P型の目線で図形を見た感じを再現した図(うまくできていないかも)
「色覚異常に配慮されていない可能性がある場所を効率的かつ網羅的に探し出して抽出する」&「色覚異常の人であっても利用できる」ソフトウェアを作りたいなと思います。
最終的にはウェブサイトやモバイルアプリから気軽に使えるようにしたいなと思っています。(開発途中)
手順
1. 変換したい画像(RGB)を用意
2. RGB→XYZ表色系→LMS色空間 へと変換
3. 色覚異常の目線を再現
4. LMS色空間からRGBに戻す
ここまでの手順はこちらの先行研究をめちゃくちゃ参考にしています。(https://github.com/asada0/ChromaticVisionSimulatorです。本当にありがとうございます。)
手順②
5. 原画にぼかしをかけ、エッジを抽出し2値化
6. 再現画像にぼかしをかけエッジを抽出し2値化
7. 6のエッジを膨張させ、bit反転
8. 5と7のANDを取る
単純な手順での再現ですが、こんな感じでやってみました。
ここまでの結果は以下の動画で確認できます。
video74MB。サーバー弱いから重いかもしれないです。
結論
映像処理楽しい。