OpenCLで行列の掛け算をしてみた

2018年2月18日日曜日
背景 OpenCL とは、GPUを利用して並列処理プログラムを作れるライブラリです。 そのOpenCLを利用して、行列の掛け算をしてみました。 備忘録を兼ねて、自分が取り組んだ内容を共有します。 全体像 使ったもの 計算内容 プログラムの説明 行列...

UbuntuでIntelのCPUに内蔵されているGPUをOpenCLで使う方法

2018年2月16日金曜日
背景 OpenCLとは、GPUという画像処理プロセッサを利用して並列処理を行うプログラムです。 IntelのCPUの中にはGPUが内蔵されているものがあり、それを利用することで並列処理プログラムを作れます。 しかし、ハードウェアに依存するためか、インテルが提供するプ...

Rustのcrateのリポジトリにあるexampleを実行する方法

2018年2月13日火曜日
背景 あるプロジェクトのexampleが手元で実行できなかったので exampleを修正するPR を出したら「最近の修正が含まれているバージョンなら動くよ」と言われました。 それまでexampleプログラムの動かし方を知りませんでしたが、調べてみたら実行方法が分かりま...

Rustで画像の輪郭(canny edge)を取得してみた

2018年2月10日土曜日
背景 画像処理の実装について個人的に興味を持っていたので、canny edgeを利用した画像の輪郭抽出をRustで実装してみました。 全体像 使ったもの canny edgeとは 画像を白黒化 ガウシアンフィルタを適用 強さと角度を取得 エッジを取得...

rscamとrelmを利用して、カメラの画像を表示するアプリをrustで作る方法

2018年1月31日水曜日
背景 rustとは、安全性、並列性などを重視して作られたプログラミング言語です。 そのrustを利用して、webカメラから画像を取得し、その情報を表示する方法が気になったので、試してみました。 全体像 使ったもの プログラムの部分的な説明 動作確認 ま...

clojureでopencv javaを利用して、カメラで取得した画像に対して顔検出を行う方法

2018年1月24日水曜日
背景 clojureとは、jvm上で動くlisp系の言語です。 opencvとは、画像処理をするためのライブラリです。 前回は、clojureでopencv javaを利用して画像を表示しました。 clojureでopencv3.2を呼び出し、javax.swi...

PIC16F1829をI2Cスレーブとして動かし、Arduinoからの信号でLチカする方法

2018年1月18日木曜日
背景 PIC16F1829とはmicrochip社が出している、PICマイコンと呼ばれることがある組み込み向けプロセッサの一つです。 以前、Lチカに成功しました。 ubuntuに開発環境を作り、PIC16F1829でLチカする方法 このPICマイコンをI2...

rustでndarrayを利用して行列を扱う方法

2018年1月14日日曜日
背景 rust とは、速度、安全性、並列性を重視して作られたプログラミング言語です。 ndarray とは多次元配列を扱うためのライブラリです。 ndarrayで行列を扱うにあたり、データの作成や扱い方に戸惑ったので、備忘録としてメモを残します。 全体像 ...

ubuntuに開発環境を作り、PIC16F1829でLチカする方法

2017年12月24日日曜日
背景 PIC16F1829とはMicrochip社が提供している、PICマイコンと呼ばれる組み込み機器向けのプロセッサの一つです。 Arduino IDEとの勝手の違いに戸惑ったので、備忘録としてメモを残します。 全体像 使ったもの 開発ツールをインストー...