OSX + OpenCv3

brew install opencv3

 

sampleコンパイル

clang++ -o sample `pkg-config –cflags opencv` `pkg-config –libs opencv` sample.cpp

ld: library not found for -lippicv

clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

/usr/local/Cellar/opencv3/3.1.0_2/lib/pkgconfig/opencv.pc

に下記を追加。

libdir3rd=${exec_prefix}/share/OpenCV/3rdparty/lib

Libs: -L${exec_prefix}/lib -L${libdir3rd}

 

 

SSH鍵認証 設定

【osx 】

sshkeygen t rsa で公開キー作成

ls ~/.ssh

id_rsa

id_rsa.pub

【server】

ssh-keygen

cd ~./ssh

touch authorized_keys

id_rsa.pubの中身をauthorized_keysへコピー

chmod 600 authorized_keys

 

・/etc/ssh/sshd_config の内容確認。

PubkeyAuthentication yes

PasswordAuthentication no

【OSX】定時実行処理

launchctl 

 

・plist作成

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>スクリプト名</string>
	<key>ProgramArguments</key>
	<array>
		<string>/bin/bash</string>
		<string>/Users/mknod/halt.sh</string>
	</array>
	<key>LowPriorityIO</key>
	<true/>
	<key>Nice</key>
	<integer>1</integer>
	<key>StartCalendarInterval</key>
	<dict>
		<key>Hour</key>
		<integer>20</integer>
		<key>Minute</key>
		<integer>30</integer>
	</dict>
</dict>
</plist>

 

・xxx.plistを~/Library/LaunchAgents/に設置

・launchctl load ~/Library/LaunchAgents/xxx.plist

・load確認 launchctl list

20:30に/User/mknod/halt.shが実行される。

 

サービス登録解除

・launchctl unload ~/Library/LaunchAgents/xxx.plist

 

【OF】OF + Syphon

環境は、OF 0.8.4、XCode 6.1.1

 

・ofxSyphonをgit clone.

・pgでサンプルスケルトン作成。

 ofxSyphonをaddonで追加

 

・プロジェクトを開いて、下記設定する

スクリーンショット 2014-12-21 午後11.10.21

・テストコード (ofApp.h)

#include "ofMain.h"
#include "ofxSyphon.h"

class ofApp : public ofBaseApp{

	public:
		void setup();
		void update();
		void draw();

		void keyPressed(int key);
		void keyReleased(int key);
		void mouseMoved(int x, int y );
		void mouseDragged(int x, int y, int button);
		void mousePressed(int x, int y, int button);
		void mouseReleased(int x, int y, int button);
		void windowResized(int w, int h);
		void dragEvent(ofDragInfo dragInfo);
		void gotMessage(ofMessage msg);
		
    ofSoundPlayer mySound;
    float radius;
    
    ofxSyphonServer mainOutputSyphonServer;
    ofxSyphonServer individualTextureSyphonServer;
    ofxSyphonClient mClient;
};

 

ofApp.m

#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){

    ofBackground(0, 0, 0);
    ofSetVerticalSync(true);
    ofSetCircleResolution(64);
    ofEnableAlphaBlending();
    
    ofSetFrameRate(60);
    ofSetBackgroundAuto(false);
//    ofSetFullscreen(true);

    
    //SYPHON
    mainOutputSyphonServer.setName("Screen Outputh");
    mClient.setup();
    mClient.setApplicationName("Simple Serverh");
    mClient.setServerName("");
    
}

//--------------------------------------------------------------
void ofApp::update(){
}

//--------------------------------------------------------------
void ofApp::draw(){

    ofSetColor(0, 0, 0, 5);
    ofRect(0, 0, ofGetWindowWidth(), ofGetWindowHeight());

    
    int radius = ofRandom(10, 50);

    int r = ofRandom(100, 255);
    int g = ofRandom(255, 255);
    int b = ofRandom(255, 255);
    
    ofSetColor(r, g, b);

    int x = ofRandom(0, ofGetWindowWidth());
    int y = ofRandom(0, ofGetWindowHeight());
    
    ofCircle(x, y, radius);

    //SYPHON
    mClient.draw(50, 50);
    mainOutputSyphonServer.publishScreen();
}

 

mad mapperで連携できます。

 

 

【OF】mbp retina

MacでRetina displayに対応する。

 

・openFrameworks-Info.plistを開く

・Add Rowで、High Resolution Capableを”YES” 追加

 

【main.cpp】

ofSetupOpenGL(1920, 1920, OF_WINDOW); // <——– setup the GL context

ofSetWindowShape(1920,1920);

    

 

 

【OSX】UNIX TIME to 時刻

unix time 

> date +%s

1407649451

時刻へ変換(JST) 

date -r “1407649451”
2014年 8月10日 日曜日 14時44分11秒 JST

 

メモ

UTC 協定世界時(1970年1月1日からカウント)

JST (日本の時刻 時差はUTCから+9時間)

です。

OS X Marvericでローカルweb server

http://qiita.com/tsumekoara/items/d4e25eedfc22900b5487

 

sudo apachectl start
sudo vim /etc/apache2/users/username.conf

<Directory "/Users/(自分のusername)/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
$ mkdir ~/Sites
$ sudo apachectl configtest
$ sudo apacehctl restart