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

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

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

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

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

解決済

パソコンが固まってしまう。

tasuke
tasuke

総合スコア0

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

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

4回答

0評価

0クリップ

19閲覧

投稿2018/11/19 08:49

編集2022/01/12 10:58

現在、python3.5.5とOpenCV3.4.3を使用し、ハフ変換でのリアルタイム円検出と各円の出現時間を個別に計測できるシステムを作製しようと考えています。作成したプログラムは以下の通りです。

python

from datetime import datetime import math import numpy as np import cv2 FIND_DIST = 10 targets = [] def inp_points(): pts = [] while True: pts.append((x1,y1)) return pts id = 1 cap = cv2.VideoCapture(0) while True: now_time = datetime.now() ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray, (33,33), 1) circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 60, param1=10, param2=85, minRadius=10, maxRadius=80) if circles is not None: circles = np.uint16(np.around(circles)) for i in circles[0,:]: cv2.circle(frame,(i[0],i[1]),i[2],(255,255,0),2) cv2.circle(frame,(i[0],i[1]),2,(0,0,255),3) x1 = i[0] y1 = i[1] pts = inp_points() if len(pts) <= 0: break for tgt in targets: tgt['bIn'] = False new_tgts = [] for pt in pts: bIn = False for tgt in targets: if math.sqrt( math.pow(pt[0] - tgt['pos'][0], 2) + math.pow(pt[1] - tgt['pos'][1], 2)) <= FIND_DIST: tgt['bIn'] = True tgt['pos'] = pt bIn = True if not bIn: new_tgt = {'id':id,'bIn':True,'pos':pt,'in_time':now_time} new_tgts.append(new_tgt) id += 1 for tgt in targets: if tgt['bIn']: new_tgts.append(tgt) else: print('{}sec'.format((now_time - tgt['in_time']).total_seconds())) cv2.imshow('preview', frame) key = cv2.waitKey(10) if key == ord("q"): break cv2.destroyAllWindows() コード

動かそうとしたところ、パソコンが固まってしまいました。調べたところ、パソコンが固まってしまう原因として、CPUの不足が原因とありました。しかし、あまりITに関して詳しくなく実際の原因が何なのかわからない状態です。使用しているシステムプロセッサはIntel(R) Core(TM) i5-4310M CPU @ 2.70GHz 2.70GHz、RAMは8.0GB、64ビットオペレーティングシステムを使用しています。です。助けていただけるとありがたいです。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

manzyun
manzyun

2018/11/19 08:58

print\('{}sec'\)\.format(以下略)の表示もされずに固まっていますか? もしそうであれば、その前の時点の処理が非常に重たい可能性が高いです。 また、パソコンのメモリ(RAM)容量もお伝えいただけると幸いです。
tasuke
tasuke

2018/11/19 09:12

コメントありがとうございます。状態としては、時間表示\(print~\)もありません。RAMは8\.0GB、64ビットオペレーティングシステムを使用しています。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

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