プログラミングの芽

面白そうな技術を使って、楽しいことやりたい

2019-01-01から1年間の記事一覧

PythonとOpenCVでエッジ検出

Webカメラの映像のエッジ検出をする。 手順 ・Webカメラから画像を取得 ・RGB画像を白黒の1次元に変換 ・ガウシアンフィルタで画像を平滑化(ぼかす) ・Canny法でエッジを検出 画像をぼかしたほうがエッジ検出の質が良くなります。 使う関数 白黒変換 cv2.c…

【Ender 3】フィラメントが詰まった→解決

題目の通りです。 温度を上げてもフィラメントが取れない、ノズル外しても取れないで焦りましたが、最終的にフィラメントを引っ張りながらエクストルーダをレンチで引き戻して力ずくで解決しました。 最悪これでも無理だったら、ノズルに供給するための管を…

Ender 3(3Dプリンタ)を購入

こんばんは。 最近3Dプリンターが安くなってきてるので買ってしまいました。 組み立てタイプのは面倒くさくて嫌だったのですが、最大造形サイズと価格が魅力過ぎました。 写真 ホワイトボードに被ってしまっていて正直邪魔なので、置き場所は考え中です。 …

DobotStudioが起動しない時(Windows10)

メモ インストールしたけど、起動するとFailed excute..と出てクラッシュするとき。 チュートリアル画面の表示でクラッシュしてる事があります Windowsのセーフモードから起動すると正常に起動するので、その際にチュートリアルを1回見てフラグを折ってから…

SG90のざっくり寸法メモ(Fusion360)

SG90を使って何か作る場合、ざっくりでも寸法がわからないと不便なのでメモがてら 値に関しては実測値ですが、ディジタルノギスの電池が切れてた関係でスケールで測ってます。従って、”目安値”ということでお願いします。 Fusion360の2D書き起こし機能は、私…

ArduinoとPython間のシリアル通信によるDHT22を使った温度湿度リアルタイム表示

良いタイトルが思い浮かびませんね。 正直Matplotlibのグラフ表示練習みたいな感じでした。 準備 必要なもの Arduino Uno 10kΩ抵抗 DHT22(AM2302) ブレッドボード(必要ならユニバーサル基盤等) ※ジャンパワイヤ等は省略 記事内で使ってるやつ 回路(メモ程度…

Pythonで位相画像の生成

ロボットビジョンについての論文を読んでたら位相限定相関法というのがあり、何だろうと調べました。 画像と比較したい画像のズレを位相画像を使って得る方法らしいです。 位相画像とは何ぞやって感じです。 参考:位相画像 – Rest Term ソース といっても別…

ウェブカメラ映像内の色をリアルタイムでヒストグラム表示

メモ # OpenCV のインポート import cv2 import numpy as np import matplotlib.pyplot as plt from collections import Counter # VideoCaptureのインスタンスを作成する。 # 引数でカメラ選択 cap = cv2.VideoCapture(0) while True: # VideoCaptureから1…

Azure Machine Learningでタイタニック生存予測

またタイタニックです。とりあえずの勉強にはすごく使いやすいです。 MicrosoftのAzure Machine Learning(以下AzureML)はずっと触りたいと思っていたのですが、今日時間が取れてやっと触れました。 軽くチュートリアル的なのをやった感じ、かなり直観的に機…

k最近傍法でTitanic生存者予測

機械学習の勉強ちゃんとしなきゃなって想いでやりました。 タイトル通り、k最近傍法でTitanic生存者予測コンペをやります。普通だと決定木とか使うみたいですね。 参考 順順にやっていきます。 とりあえずtrain.csvとtest.csvを読み込む import pandas as pd…

物体検出を学習させる際の画像水増し手順まとめ

今まで書いた記事のまとめです。 一連の流れで水増しできます。 1.画像をいっぱいあつめる 2.LabelImageでラベリングする 3. atarms.hatenablog.com 4. atarms.hatenablog.com 5. atarms.hatenablog.com 6. atarms.hatenablog.com

機械学習に使う画像とアノテーションファイルをtestとtrainフォルダに振り分ける

2500枚とそれに付随するアノテーションファイルを良い感じに振り分けることを目的とします。 必要なもの import pandas as pd import numpy as np import cv2 from sklearn.model_selection import train_test_split アノテーションファイルをtrain、test用…

機械学習に使う画像を水増しした分のアノテーションファイルを作成する。

以下の記事の作業を行ったという想定の元進めていきます。 atarms.hatenablog.com atarms.hatenablog.com 正解ラベルの部分をトリミングしているため、画像全体が正解という事になります。 それを90度、180度、270度と回転させただけなので、画像全体が正解…

【Python】画像を90度ずつ回転させて学習データの水増しをする

画像を機械学習にかける際、学習対象物をさまざまな方向、角度から撮影されたものを使うことで汎用性の高いモデルが期待できます。 極論いえば、自分でカメラを使って撮影しまくるのが良いのですが、そんなことはしてられないです。 そのため、学習に使う画…

アノテーション情報(座標)から画像をトリミングして保存する

今回は大量の画像を一括で処理することを目的とします。 数枚であればプログラム数行でできます。 前提として以下のようなlabels.csvファイルとそれに対応した画像があるとします。 filename: ファイル名 width height: 画像ファイルのサイズ class: 分類ラ…

小銭検出

暇なので1円、5円、10円、100円、500円を学習させてみました。 本当はアプリ化して、自動で画面内の小銭を集計してくれるものを作ろうと思ったんですけど、やっぱり精度が厳しいですね。 疑問として、なぜ全て検出されてないのか? 間違いなく他のも検出でき…

リアルタイム顔面自動モザイク

これをリアルタイム処理できるようにする。 静止画でいいならものすごく簡単にできる。 # -*- coding: utf-8 -*- import cv2 import matplotlib.pyplot as plt def mosaic(src, ratio=0.1): #ratio=モザイクの強さ small = cv2.resize(src, None, fx=ratio, …

pythonによる2リンクロボットアームの順運動学

import math import matplotlib.pyplot as plt def fk(l1,l2,d1,d2): x1 = l1*math.cos(math.radians(d1)) y1 = l1*math.sin(math.radians(d1)) x2 = l1*math.cos(math.radians(d1)) + l2*math.cos(math.radians(d1+d2)) y2 = l1*math.sin(math.radians(d1))…

pythonで画像データを見る

参考 OpenCV: Histograms - 1 : Find, Plot, Analyze !!! 前提 pythonによる画像処理 - あたりめ備忘録 plt.hist(img.ravel(),256,[0,256]) plt.show() >> from scipy import misc color = ("B", "G", "R") for channel, col in enumerate(color): histr = c…