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

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

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

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

Q&A

解決済

2回答

3582閲覧

TypeError : can not unpack non-iterable numpy.float64 object

Gencoflu61

総合スコア1

Python

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

0グッド

0クリップ

投稿2021/11/23 07:24

編集2021/11/23 11:16

Nanが去ったと書いてあり、カメラを開けません。しかし、right_lineを表示したい場合は、カメラのみが開きます。

カメラを実行して画像のleft_lineをレンダリングするにはどうすればよいですか?
![イメージ説明]![イメージ説明]

> import cv2 > import numpy as np > > def make_coordinates(image, line_parameters): > slope, intercept = line_parameters > y1 = image.shape[0] > y2 = int(y1*(3/5)) > x1 = int((y1 - intercept)/slope) > x2 = int((y2 - intercept)/slope) > return np.array([x1, y1, x2, y2]) > > def average_slope_intercept(image, lines): > left_fit = [] > right_fit = [] > if lines is not None: > for line in lines: > x1, y1, x2, y2 = line.reshape(4) > parameters = np.polyfit((x1, x2), (y1, y2), 1) > slope = parameters[0] > intercept = parameters[1] > if slope < 0: > left_fit.append((slope, intercept)) > else: > right_fit.append((slope, intercept)) > left_fit_average = np.average(left_fit, axis=0) > right_fit_average = np.average(right_fit, axis=0) > print(left_fit_average, 'left') > print(right_fit_average, 'right') > left_line = make_coordinates(image, left_fit_average) > right_line = make_coordinates(image, right_fit_average) > return np.array([left_line,right_line]) > > def canny(image): > > gray = cv2.cvtColor( image, cv2.COLOR_RGB2GRAY) > blur = cv2.GaussianBlur(gray,(5,5),0) > canny = cv2.Canny(blur, 50, 150) > return canny > > def display_lines(image,lines): > line_image = np.zeros_like(image) > if lines is not None: > for x1, y1, x2, y2 in lines: > cv2.line(line_image,(x1, y1), (x2, y2), (255,0,0),10) > return line_image > > def region_of_interest(image): > > polygons = np.array([ > [(0,1092),(1583,1092),(890,40)] > ]) > mask = np.zeros_like(image) > cv2.fillPoly(mask,polygons,255) > masked_image = cv2.bitwise_and(image,mask) > return masked_image > > cap = cv2.VideoCapture(0) > while True: > _, frame = cap.read() > canny_image = canny(frame) > cropped_canny = region_of_interest(canny_image) > lines = cv2.HoughLinesP(cropped_canny, 2, np.pi / 180, 100, np.array([]), minLineLength=40, maxLineGap=5) > averaged_lines = average_slope_intercept(frame, lines) > line_image = display_lines(frame, averaged_lines) > combo_image = cv2.addWeighted(frame, 0.8, line_image, 1, 1) > cv2.imshow("result", combo_image) > if cv2.waitKey(1) & 0xFF == ord('q'): > break > cap.release() > cv2.destroyAllWindows()
### 前提・実現したいこと ここに質問の内容を詳しく書いてください。 (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ

エラーメッセージ

### 該当のソースコード ```ここに言語名を入力 ソースコード

試したこと

ここに問題に対して試したことを記載してください。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

left_fitが空リストの場合、提示エラーが発生します。
つまり線が右または左のみというケースが考慮されていないようです。
線がない方の処理はしないなりの修正が必要だと思われます。

投稿2021/11/23 08:25

can110

総合スコア38233

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

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

Gencoflu61

2021/11/23 11:37 編集

手伝ってくれますか?
can110

2021/11/23 08:50

どのように行うかはあなたが決めて修正しないといけません。 そのうえで具体的に解決できない問題が出た場合はあらたに質問を立てるとよいかと思います。
Gencoflu61

2021/11/26 09:11

私はこの問題を解決しました。しかし、車両が速く動くと、同じエラーが繰り返されます
guest

0

left_fit_average = np.average(left_fit, axis=0)

で得られたスカラーleft_fit_averageを

left_line = make_coordinates(image, left_fit_average)

と引数で渡し、

def make_coordinates(image, line_parameters):
slope, intercept = line_parameters

として、slopeとinterceptに分解しようとしてエラー起きています。

処理ロジックを見直してください。

投稿2021/11/23 08:13

ppaul

総合スコア24666

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

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

Gencoflu61

2021/11/26 09:12 編集

私はこの問題を解決しました。しかし、車両が速く動くと、同じエラーが繰り返されます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問