質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

画像の各色をカラーバーの様に表したい

Vamosj1VIVA
Vamosj1VIVA

総合スコア2

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2回答

0評価

0クリップ

283閲覧

投稿2021/09/27 01:43

編集2021/09/27 22:31

前提・実現したいこと

ある画像(既に画像ファイルとして存在しています)の各色が何を表しているのかをカラーバーの様に棒状にして画像に加えたいと考えています(ヒートマップの凡例をつくる)。例として下記の画像を示します。この色は標高何メートルと決めて標記したいです。緑色は0~100m、オレンジ色は300~400mであったりとかいう感じです。画像は次のURLから引用しています。
https://www.gsi.go.jp/KIDS/KIDS07.html
イメージ説明

発生している問題・エラーメッセージ

初心者で大変申し訳ないですが、この表し方が分かりません。調査した結果、カラーバーとは自分がカラーマップを作成しそれを利用して作るといったものだと理解しています。上記の画像にある自分が表したい色を用いたカラーマップを自作する必要があるのか、はたまた画像の色を読み取りそれをカラーバーの様に表す事が出来るのかが分からない状態です。試しに任意で等高線を作り、カラーバーを表示してみました。この等高線の様に上記の画像を基に、カラーバーの軸を0、100、200、300、400・・・の様にしたいです。エラーメッセージは出ませんでした。

該当のソースコード

任意の等高線とそのカラーバーを作ったソースコードを示します。しかしこれはあくまでこの様な等高線のカラーバーはこの様に表したいというイメージであり、実際に私が求めるのは上記のURLにある画像の色をカラーバーの様に表したいという事です。

Python

import matplotlib.pyplot as plt import numpy as np # データを作成する。 def f(x, y): return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x) x = np.linspace(0, 5, 50) y = np.linspace(0, 5, 40) X, Y = np.meshgrid(x, y) Z = f(X, Y) # 等高線を作成する。 fig, ax = plt.subplots() c = ax.contourf(X, Y, Z, 20, cmap="jet") fig.colorbar(c) plt.show()

出力は以下の様です。
イメージ説明

試したこと

調査した結果、カラーバーとは自分がカラーマップを作成しそれを利用して作るといったものだと理解しています。上記の画像にある自分が表したい色を用いたカラーマップを自作する必要があるのか、はたまた画像の色を読み取りそれをカラーバーの様に表す事が出来るのかが分からない状態です。とりあえずイメージを考えたいとの事で、任意の等高線とカラーバーを作成しました。

補足情報(FW/ツールのバージョンなど)

言語:Python
環境:Windows10
ブラウザ:Google chrome(Google Colaboratory)
*ノートパソコンです。全て最新バージョンです。プログラミング中はcolab以外のタブ、アプリは開いていません。
*急ぎの内容の為、以下のサイトでも同様の質問をさせていただいています。他サイトで解決した場合、こちらでも明記します。
https://ja.stackoverflow.com/questions/82701

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

etherbeg

2021/09/27 01:54

> ある画像の各色が何を表しているのかをカラーバーの様に棒状にして画像に加えたい 「ある画像」がすでに画像ファイルとして存在するものを指すのか、それともこれから matplotlib 等のライブラリを使用してデータから画像を作成するのか、によって方法は違ってくると思います。「実際に私が求めるのは上記のURLにある画像の色をカラーバーの様に表したい」とおっしゃっているので、前者なのでしょうか。
Vamosj1VIVA

2021/09/27 01:56

大変申し訳ございません。仰る通り、前者でございます。修正しておきます。
Vamosj1VIVA

2021/09/27 06:41

@1T2R3M4 大変申し訳ございません。初心者なもので利用規則を完全に把握しておりませんでした。修正しておきます。2度と違反しない様に善処します。
fana

2021/09/27 07:01 編集

【特定の画像に対して,手作業で「何色が何メートルなのか?」という情報を収集し,その結果値を与えてやれでば終了だよね】というところまでは自明な話だと思うのですが, それに対して,何が解決すべき課題なのでしょう? ・単に手作業だと面倒だから,可能であればしたくないなぁ というだけの話 ・不特定多数の画像に対応せねばならず,それぞれの画像で標高値に対する色とかが異なっているから,手作業ではとてもやってられない! という状況にあるという話 ・etc
Vamosj1VIVA

2021/09/27 07:05 編集

@fana 大変申し訳ございません。仰る通り、何が解決すべき問題かの明記がなされていませんでした。私が抱えている問題は2番目の内容です。
fana

2021/09/27 07:29 編集

2番目 とは > ・不特定多数の画像に対応せねばならず,それぞれの画像で標高値に対する色とかが異なっているから,手作業ではとてもやってられない! という状況にあるという話 ということですか? (だとしたら,statck overflow 側でもそういう旨が伝わっていないように見えるが)
thkana

2021/09/27 13:13

> ・不特定多数の画像に対応せねばならず,それぞれの画像で標高値に対する色とかが異なっているから,手作業ではとてもやってられない! という状況にあるという話 やってられないとしても、まずは「手作業でやる手順」を考えてみて、それが何らかの形で「決まった作業」に落とし込めるならそれをプログラムで書けばいいでしょう。でも、各々の図毎に手順が違うなら(余程たくさんの図があって機械学習とかいう話になるのでない限り)結局「手作業」が一番効率がよくなりそうです。 それはそれとして、やりたい作業には「ヒートマップの凡例を作る」という名前をつけると一般に通じそうな気がします。
Vamosj1VIVA

2021/09/27 22:28

@fana すいません、私のコメントが間違っていました。2番目の内容も実際にはあるのですが、それよりも大変恐縮ですが結果を与えてそれを出力するという方法がはっきりと分からなかったという事です。私自身が無知な事は承知ですので、これから勉強していきたいと思っています。
Vamosj1VIVA

2021/09/27 22:30

@thkana 前半部分については上記で記した通り、私の記載ミスであったので心にとどめておきます。私もその様に感じておりました。最後の段落の件については、修正させていただきます。ありがとうございます。
Vamosj1VIVA

2021/10/01 04:27

@meg_ 解決致しました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。