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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

753閲覧

画像の輝度レベルを調べたい

potapotapotato

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2021/10/07 02:56

前提・実現したいこと

画像の輝度を調べ、レベル分けしたくて、以下のURLを参考にし(インデント等調節し)
プログラムを回してみました。
このURLの#2
すると、出力結果に書いたように返されてしまい、結果を出せません。
どこを直せばよいのでしょうか

該当のソースコード

import numpy as np import cv2 import sys from collections import namedtuple #brange brightness range #bval brightness value BLevel= namedtuple("BLevel", ['brange', 'bval']) #all possible levels _blevels= [ BLevel(brange=range(0, 24), bval=0), BLevel(brange=range(23, 47), bval=1), BLevel(brange=range(46, 70), bval=2), BLevel(brange=range(69, 93), bval=3), BLevel(brange=range(92, 116), bval=4), BLevel(brange=range(115, 140), bval=5), BLevel(brange=range(139, 163), bval=6), BLevel(brange=range(162, 186), bval=7), BLevel(brange=range(185, 209), bval=8), BLevel(brange=range(208, 232), bval=9), BLevel(brange=range(231, 256), bval=10), ] def detect_level(h_val): h_val= int(h_val) for blevel in _blevels: if h_val in blevel.brange: return blevel.bval raise ValueError("Brightness Level Out of Range") def get_img_avg_brightness(): if len(sys.argv) < 2: print("USAGE: python3.7 brightness.py <image_path>") sys.exit(1) img= cv2.imread(sys.argv[1]) hsv= cv2.cvtColor(img, cv2.COLOR_BGR2HSV) _, _, v= cv2.split(hsv) return int(np.average(v.flatten())) if __name__== '__main__': print("the image brightness level is:{0}".format(detect_level(get_img_avg_brightness())))

出力結果

USAGE: python3.7 brightness.py <image_path> An exception has occurred, use %tb to see the full traceback. SystemExit: 1

試したこと

プログラムを理解していないこともあり、画像読み込むところをしなきゃと思い、cv2.imreadのところに画像のファイルパスを記入したのですが、うまくいきませんでした

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/10/07 09:02

> USAGE: python3.7 brightness.py <image_path> に書いてある通りに、画像ファイルのパスをコマンド実行時に付けてみてください python brightness.py /aaa/bbb/ccc/pic.jpg みたいに 上記の「python」とか「/aaa/bbb/ccc/pic.jpg」とかは、質問者さんのパソコンの環境に合わせて、変えてください
potapotapotato

2021/10/08 01:51

英語読めてませんでした>< spyderで実行していて、実行の際の引数の設定の仕方を知りませんでした。 調べて引数をspyderで実行するときに設定することにより解決しました。 ありがとうございました。
guest

回答1

0

ベストアンサー

USAGE: python3.7 brightness.py <image_path>

に書いてある通りに、画像ファイルのパスをコマンド実行時に、

sh

1python brightness.py /aaa/bbb/ccc/pic.jpg

みたいに付けて実行してみてください

上記の「python」とか「/aaa/bbb/ccc/pic.jpg」とかは、質問者さんのパソコンの環境に合わせて、変えてください

投稿2021/10/08 06:36

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問