三日坊主のプログラミング日誌

なんか色々書いておくところ。

iPhone X 買ったら iPhone 6とのバッテリー対決したいなぁ(誰得)と思ったのでバッテリーモニターアプリ作った( ✌︎'ω')✌︎

Swift 3
サンプルコード

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var BatteryProgress: UIProgressView! // プログレスバー
    @IBOutlet weak var BatteryView: UILabel!             // ラベル
    
    override func viewDidLoad() {
        UIDevice.current.isBatteryMonitoringEnabled = true // バッテリーのモニタリングを可能にする
        BatteryProgress.setProgress(1.0, animated: true)    // アニメーションをつける
        BatteryProgress.transform = CGAffineTransform(scaleX: 1.0, y: 2.0) //プログレスバーの長さと太さ
        let CurrentBattery : Float = UIDevice.current.batteryLevel // バッテリの値を取ってくる
        if (CurrentBattery == -1) { // モニタできないと -1 が帰ってくる
            BatteryView.text = "ERROR"
        } else { // モニタできる場合は 0.0 ~ 1.0 の間で値が帰ってくる
            BatteryView.text = "\(CurrentBattery * 100) %"
        }
        super.viewDidLoad()
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

OpenCV & Python 3 & コマンドライン引数 で画像をリサイズするプログラム

 大学の研究室で畳み込みニューラルネットワークを使った演習を来年1月やるらしいので、そこで使う60枚の画像ファイルを用意したはいいものの、40×40の画像にしなくてはならないので、それをチマチマ縮小するのはメンドくさいと言う事で書いた( ✌︎'ω')✌︎

環境は macOS High Sierra, Python 3.6.1 , OpenCV(version 3.3.0)

#coding: utf-8

import cv2  # OpenCV読み込み
import sys  # コマンドライン引数を使う為

imageName = sys.argv                            # コマンドライン引数を変数(配列)に記録
img = cv2.imread(imageName[1])                  # 配列2番目に格納されている値から画像を読み出し

size = (40,40)                                  # リサイズするサイズ 高、幅 の順
small_image = cv2.resize(src=img,dsize=size)    # ココでリサイズ&変数に格納
resizedImageName = "small-[f:id:Hiro2201:20171225200159j:plain]" + imageName[1]      # 生成するファイルの名前の作成
cv2.imwrite(filename=resizedImageName,img=small_image) # ファイル書き出し

==================================================================

続きを読む

今年も防衛装備庁技術シンポジウムに行ってきた。

完全に旬を逃してるけど、一応書き込み。

見てきた内容としては、「X-2」の試験飛行中の映像(←これはYouTubeでいつか公開したいって言ってた)、同じく「X-2」の風防の一部、将来戦闘機(F-3)のコックピット映像(?)的なやつ、弾道ミサイル防衛用のSM-3 block ⅡA の弾頭カバー部分。他には、米軍が湾岸戦争かなんかで分捕ってきたソ連製の戦車やらのデータを集め公開してるWebサイト MSTAR を使って流行りの深層学習(Deep Learing)を使って判別する技術を作ったそうな。これの開発は某大手電機メーカが担当してて、開発にはPython と Chainer を使ったそうな。

 今回はこんな感じで(圧倒的手抜き)

 

f:id:Hiro2201:20171219194105j:plain

f:id:Hiro2201:20171219194158j:plain

SM-3 block 2A

 

 

f:id:Hiro2201:20171219194128j:plain

f:id:Hiro2201:20171219194122j:plain

将来戦闘機のコックピット(?) と X-2 飛行中のコックピット後ろ

 

Python & OpenCVで物体認識(動画編)

久しぶりの投稿。大学の自由課題で作ったPythonOpenCVを使った物体認識のサンプル(処理速度すごく遅い)。
環境は macOS High Sierra, Python3.6.1, OpenCV 3.3.0

簡単な解説

OpenCVにはカスケード識別器なるものが用意されていて、人とかの検知が比較的楽にできるそうな。
詳しいことは、↓
qiita.com

(haarcascade_upperbody.xmlOpenCVに一緒に同梱されているので、上手く見つけて、ソースコードと動画が入ったディレクトリに一緒に入れておいて)

サンプルコード
続きを読む
プライバシーポリシー お問い合わせ