SwiftでOpenCVを使用するためにOpenCVのFrameworkをbuild
OepnCVをSwiftから使用するにはObjective-cのラッパーを作成する必要があり2度手間で面倒くさい。
以下のサイトにSwiftから直接呼ぶ方法が記載されていたので確認しながら試してみる。
OpenCV が Objective-C / Swift で使えるようになります & 使ってみた
Xcodeを起動して「preferences」の画面を開きCommand Line Toolsが未選択ならば選択する。
未設定
設定済み
Swift、Python、cmake、Xcodeのtoolのバージョンを確認
[code]
swift –version
Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
Target: x86_64-apple-darwin19.6.0
cmake –version
zsh: command not found: cmake
python –version
Python 2.7.16
xcode-select –version
xcode-select version 2373.
[/code]
cmakeがインストールされていないため、いったんbrewをインストール
Homebrewのサイトに記載されているコマンドを実行してHomebrewをインストール
[code]
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
[/code]
brewのインストールが完了したらcmakeのインストール
[code]
brew install cmake
[/code]
インストールが完了したらバージョンを確認
[code]
cmake –version
cmake version 3.18.2
[/code]
githubよりopencvのリポジトリをclone
[code]
cd Documents/prjs/opencv/git
git clone https://github.com/opencv/opencv.git
[/code]
opencvのbuild先となる作業用フォルダを作成
[code]
mkdir work
cd work
[/code]
opencv/platforms/ios/build_framework.pyスクリプトを実行
[code]
/Users/hideo/Documents/prjs/opencv/git2/opencv/platforms/ios/build_framework.py ios
[/code]
buildが正しく終了したらworkフォルダ直下のiosフォルダに以下のフォルダが作成される
[code]
build
opencv2.framework
samples
[/code]
opencv2.frameworkが使用するopencvのframework
久しぶりのToDoList
環境の変化に伴い久しぶりにToDoListを使ってみる
URL
https://www.abstractspoon.com/
swift バックグラウンドで音声を再生できない
いろいろなサイトでできると記載があるが、どうも再生できない!
Objective-cではできたのでだけど?
そんなことがあるのか?
iOS13
xcode11
参考サイト
iPhoneのViewの座標が違う
iPhoneX未満の機種ではViewのY座標は64。
※緑がView
iPhoneX、11ではViewのY座標は88
64では頭が切れる
88で丁度よい
classのファイルパスを求める
C:\OSGeo4W\apps\Python37\libにあるパッケージ「tdkaoku」内のモジュール「kaoku_core」にあるMasterprojectクラスのフルパスを求める
[code]
from tdkaoku.kaoku_core import(
Masterproject
)
import inspect
print(inspect.getfile(Masterproject))
[/code]
以下が出力される
[code]
C:\\OSGeo4W\\apps\\Python37\\lib\\tdkaoku\\kaoku_core.py
[/code]
blogサイトをSSLに対応
blogサイトをさくらのVPSに移動したので、ついでに無料のSSL証明書を導入!
参考いしたサイトネコでもわかる
CentOSにソースからインストールしたApacheをアンインストール
CENTOS:CentOS release 6.6
Apache:2.2.22
Apacheのインストールに使用したソースフォルダ内(例:/var/download/httpd-2.2.22)のconfig.niceファイルを参照してconfigure実行時の引数を確認
[code]
"./configure" \
"–enable-so" \
"–enable-module=all" \
"–enable-mods-shared=all" \
[/code]
インストール先は未指定なので/usr/local/apache2にインストールされてるのでapache2フォルダを削除
CentOSにソースからインストールしたPHPをアンインストール
CENTOSのバージョン:CentOS release 6.6
PHPバージョン:5.3.14
インストール時にconfigure、make、make installを実行したPHPのソースフォルダ(※)より情報を収集
※例/var/download/php-5.3.14
config.statusにはconfigureのコマンドが記載されている
[code]
# ./configure -disable-debug -with-apxs2=/usr/local/apache2/bin/apxs -with-iconv -enable-mbstring -enable-zend-multibyte -with-mysql -enable-soap –with-zlib-dir –with-pdo-mysql –with-mysqli –enable-zip –with-gd –with-jpeg-dir=usr/local/lib –with-libdir=lib64 –with-curl –enable-ftp
[/code]
インストール先のフォルダは引数prefixで指定するが、configureでは指定していないのでデフォルトの/usr/localにインストールされた
以下のファイル、フォルダを削除すればPHPは削除される
/usr/local/bin/php
/usr/local/bin/php-config
/usr/local/bin/phpize
/usr/local/lib/php
/usr/local/lib/php.ini
/usr/local/lib/php
gitコマンドで変更内容確認
git diff
比較対象
作業ディレクトリのファイルとローカルリポジトリ
表示
変更内容が全て表示されるので決して見やすくない
git diff –name-only
比較対象
作業ディレクトリのファイルとローカルリポジトリ
表示
更新されたファイル名の一覧表示
git diff ファイルパス
比較対象
作業ディレクトリのファイルとローカルリポジトリ
表示
ファイルの比較
Pythonで相関行列、偏相関行列を求める
相関行列、偏相関行列の計算(答え合わせ)は通常Rを使うが、今回はPythonでやってみる。
目的変数と説明変数
弊社アプリの結果画面
単相関
偏相関
PythonはQGISのPythonコンソール上で実行
実行するスクリプト
[code]
import numpy as np
import scipy as sp
from scipy import linalg
def partialcorrcoef(c):
inv_cor = linalg.inv(c)
rows = inv_cor.shape[0]
regu_1 = 1 / sp.sqrt(sp.diag(inv_cor))
regu_2 = sp.repeat(regu_1, rows).reshape(rows, rows)
regu_1 = 1 / sp.sqrt(sp.diag(inv_cor))
regu_2 = sp.repeat(regu_1, rows).reshape(rows, rows)
pcor = (-inv_cor) * regu_1 * regu_2
sp.fill_diagonal(pcor, 1)
return pcor
data=[
[520000,498000,447000,451000,608000],
[160,120,250,105,175],
[284,162,169,163,261],
[400,600,600,600,600]
]
C = np.corrcoef(data)
PC = partialcorrcoef(C)
[/code]
スクリプトを実行した後に相関行列(C)、偏相関行列(PC}を表示
計算結果は一致したのでアプリには問題はなし