2021/07/24

【R言語】ピクセル単位のビットマップ操作

operate_pixel.knit

256x256ピクセルの画像を生成します。ピクセル毎に着色し、赤成分を横方向に0から255まで、緑成分を縦方向に0から255まで変化させます。

1 サンプル1

ビットマップイメージファイルをimage_blank()関数とimage_data()を用いて作成する。

## magickライブラリ読み込み
library(magick)
## Linking to ImageMagick 6.9.10.23
## Enabled features: fontconfig, freetype, fftw, heic, lcms, pango, webp, x11
## Disabled features: cairo, ghostscript, raw, rsvg
## Using 2 threads
img <- image_blank(width=256, height=256)
image_info(img)
##   format width height colorspace matte filesize density
## 1    png   256    256       sRGB  TRUE        0   72x72
(bmp <- image_data(img))
## 4 channel 256x256 bitmap array: 'bitmap' raw [1:4, 1:256, 1:256] 00 00 00 00 ...
for (x in 1:256) {
    for (y in 1:256) {
        bmp[, x, y] <- as.raw(c(x-1, y-1, 0, 255)) # rgba
    }
}
(img <- image_read(bmp))

2 サンプル2

ビットマップ形式の配列からイメージファイルを作成する。

## magickライブラリ読み込み
library(magick)

## ビットマップイメージ作成
bmp2 <- array(as.raw(c(0, 0, 0, 255)), dim=c(4, 256, 256))

for (x in 1:256) {
    for (y in 1:256) {
        bmp2[, x, y] <- as.raw(c(x-1, y-1, 0, 255)) # rgba
    }
}
(img <- image_read(bmp2))

2021/02/21

Raspberry Pi上でATtiny202のコンパイル環境を構築してLチカまで(1)

1.きっかけ


秋月電子のホームページにある新商品紹介ページで知ったのがきっかけです。
 最初は小さくて安いのがでたなぁという感想でしたが、新シリーズのようで仕様をみると結構豪勢なんです。ADC, UART, I2C, SPIを搭載しており、内蔵オシレータも20MHz動作です。さすがにメモリ類は少なくプログラムメモリ:2KB、RAM:128B、EEPROM:64Bです。安くて機能豪華、これは遊んでみたいという気持ちになりました。

 ただし、プログラミング方式がISPではなくUPDIというプロトコルに変更されており、愛用していたAVRISPmkIIは使えないことがわかりました。しかし、数年前にAtmel-ICEなるものを購入しており、これがUPDI対応とのことで一安心。(Atmel-ICEは購入してから一度も使っておらず、これが後に災いとなったことは内緒です)

2.購入


遊ぶにはブレッドボードに刺さるようにしたいのでDIP変換基板も併せて購入。

通販コード 品名 単価 数量 小計 説明
I-15731 ATTINY202-SSNR 40円 2 80円 AVRマイコン ATTINY202-SSNR
P-05154 AE-SOP8-DIP8 100円 1 100円 SOP8(1.27㎜) DIP変換基板 金フラッシュ(9枚入)
C-04392 PHA-1x4SG 4円 10 40円 細ピンヘッダ 1x4

3.組み立て


早速組み立てです。1.27mmピッチなので難しいところはなく、サクッと組み立て完了です。

バーニングシップフラクタル

bsf.knit 今回は『バーニングシップフラクタル』についての備忘録です。 バーニングシップフラクタルとは? Wikipedia ...