DEEP SCRATCH

色即是空

Build Halide on Mac OSX

Precompile version:

> git clone https://github.com/halide/Halide.git
> cd Halide
> curl -L -O http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-apple-darwin.tar.xz
> tar zxf clang+llvm-3.7.0-x86_64-apple-darwin.tar.xz
> export LLVM_CONFIG=(your path)/Halide/llvm/bin/llvm-config 
> export CLANG=(your path)/Halide/llvm/bin/clang
> make

build from source by cmake version

mkdir cmake_build
cd cmake_build
cmake -DLLVM_DIR=/path-to-llvm-build/lib/cmake/llvm -DCMAKE_BUILD_TYPE=Release /path/to/halide
make -j8
  • in my case
mkdir cmake_build
cd cmake_build
cmake -DLLVM_DIR=/Users/itoyuichi/github/Halide/Halide/llvm/lib/cmake/llvm -DCMAKE_BUILD_TYPE=Release /Users/itoyuichi/github/Halide/Halide
make -j8

My environment : Mac OS sierra, 10.12.6

eGPU 再設定のためのメモ

Mac book 2012 で eGPU(Akitio)に入ったGTX 980を使うためのメモ。 以前使えていたが、Macが勝手にドライバをアップデートしやがったらしく、再設定に手間取った。

正直、こちらのQiitaの通りにやれば使えるハズ。でも、自分のためにメモ。 qiita.com

最初、GPUのwebドライバを378....、CUDAドライバを8.0系にインストールし直したらいけると思ってた。 でもそれらをインストールしても、CUDAのUI上で、GPU driverが空欄になってたのです。 PCもGPUを認識してないよう。 結局何が問題だったかというと、automate-eGPUのコマンドを叩かなければならかったらしい。

(まずMacのセーフモードで csrutil disableにしておくこと) curl -o automate-eGPU.sh https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh chmod +x automate-eGPU.sh sudo ./automate-eGPU.sh

これを叩いて再起動すると、GPUが認識された。

  • 次にCUDAをインストール(8.0系の最新版、CUDA 8.0.90 driver for MAC)、パスを通して

echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib"' >> ~/.bash_profile echo 'export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/cuda/lib"' >> ~/.bash_profile echo 'export PATH="$PATH:/usr/local/cuda/bin"' >> ~/.bash_profile

  • cuDNNも壊しちゃってるので、インストール(cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0)してCUDAのフォルダにコピペする。

cd ~/Downloads  # ダウンロードしたディレクトリ tar xvfz cudnn-8.0-osx-x64-v5.1.tgz sudo mv cuda/include/ /usr/local/cuda/include/ sudo mv cuda/lib/ /usr/local/cuda/lib/

Preparation of application development using Xiaomi mi9 (SnapDragon855)

  • Developer Activation

About phone —> MIUI version (7 times click)

  • USB debugging: On

setting —> additional setting —> Developer options —> USB debugging

  • Install via USB: On

setting —> additional setting —> Developer options —> Install via USB

Reference stackoverflow.com

ffmpeg command cheat sheet [Japanese (Mac)]

  • ターミナルからコマンドを打ち込む

詳細オプション

$ ffmpeg -h full

動画ファイルの圧縮codec情報を見る場合

$ ffprobe ファイル名

圧縮する場合

$ ffmpeg -i 入力ファイル名 出力ファイル名

オプションパラメータ

  • -f 圧縮ファイルコンテナ形式 (mp4, mov, aviなど)
  • -vcodec コーデック形式(h264, libx264など)
  • -vb ビットレート (一般的に数値が高い方が高精細だが、ファイルサイズ大)
  • -s 解像度 (1280x760などで指定)

具体例

$ ffmpeg -i locomo-03_81sec.mov -f mp4 -vcodec libx264 -vb 512k -s 1280x760 locomo-03_81sec_2.mp4


動画から画像切り出し方法

$ ffmpeg -i 入力動画名 -f image2 %06d.jpg

オプション情報

  • -ss 100: 抜き出し開始秒
  • -t 150:抜き出し終了秒
  • -r 24:抜き出しフレームレート

連番画像から動画生成方法

$ ffmpeg -r 30 -i image_%03d.png -vcodec libx264 -pix_fmt yuv420p -r 60 out.mp4

オプションパラメータ

  • -vcodec libx264:コーデック
  • -pix_fmt yuv420p: フォーマット
  • -vf reverse:逆に読み込むかどうか

//参考リンク http://dyama.org/ffmpeg/

Rawpy cheat sheet

import library

import rawpy

load raw file

raw = rawpy.imread("sample.raw")

check image format

print(raw.sizes)

check white balance

print(np.array(raw.camera_whitebalance))

check color matrix

print(raw.color_matrix)

raw data, width, height

raw.sizes.raw_height``raw.sizes.raw_width raw.raw_image

all post process

img_result = raw.postprocess()

numpy array conversion

raw_array = np.array(raw.raw_image).reshape((h, w)).astype('float')

save raw image data

import imageio
outimg = img_gamma.copy().reshape((h // 2, w //2, 3))
outimg[outimg < 0] = 0
outimg = outimg * 255
imageio.imwrite("sample.png", outimg.astype('uint8'))

--

reference

ISP Tools

Image processing tool

  • Image Development (RAW to RGB)
    • DCRaw
    • libraw
    • rawpy (python library)
  • RAW Image/Video viewer
    • YUV viewer
  • Image Viewer
    • Irfan view
    • FastStone Image Viewer

Video processing tool