初心者によるArduinoとProcessingを使ったロボット製作

初心者ですがArduinoとProcessingを使ったロボット製作をやっています。 将来は宇宙や深海や道端を家から遠隔で操作できるようなロボットを作りたいです。 ちなみに2chも好きです。相互RSS希望があれば連絡ください。processingのPDEは、Processing Development Environmentの略みたいです。

今はArduinoとProcessingを使ったビジュアルサーボの記事をたくさん書きたいと思っています。

カテゴリ: 画像処理

[X,Y,Z] = peaks(25);
figure
surf(X,Y,Z);

[X,Y,Z] = peaks(25);
figure
surf(Z);

は違います。


左がsurf(Z);で右がsurf(X,Y,Z);
です。
Zは同じですが、X,Yがちがいますね。
surf(X,Y,Z);
はその高さZごとのX,Yを指定できます。
逆に、
surf(Z);は、
はその高さZごとのX,Yを指定していないので、1ごとになっているはずです。
Zは25*25の配列なので、x、yがそれぞれ25の目盛りになっているはずです。

MATLABプログラミング入門
上坂 吉則
牧野書店
2011-05






 

アルゴリズムでラスタスキャンって基本だと思うんですよ。
モザイク処理はもちろんそうですが、ほかにもいろいろな場面で役立ちます。
僕はポイントクラウドで似たような処理をやりたかったのです。 





続きを読む

色々編集していると色々手順が混乱してしまいます。
そこで以下のような手順でやったらどうでしょうか?

1、載せたい部分を切り取る
    =明らかにいらない部分をきりとる
2、ストーリーを考える
3、2でストーリーに載らないものをどける
4、モザイクなど画像効果、字幕をつける
5、効果音をつける
6、動画タイトルと説明文を載せる

簡単にいうと、
最初に「捨てる」
次に「加える」
ですね。これの逆をやってしまうとせっかく作ってしまったものを捨ててしまうことがあるので。

こう考えると、効果音以外はWindowsムービーメーカーで良い気がしてきました。
ビデオスタジオとかaviutlとかやったけどな。。

あ、
動画の中に動画を載せる場合などは、ほかのソフトいるんで他のも必要でした。



 

processingでキーに反応するプログラムは色々書けるんですけど、
keypressed ってキーを押している間って意味なんですよね。
押してスタートってしたいときは、
keyの関数を使えば良いのです。

いかにsを押したらボールが動き始めるプログラムを載せておきます。

サンプルプログラム
float x = 0.0;
float speed = 1.0;

void setup() {
  size(200, 200);
}

void draw() {
  background(0);
  if (key == 's') {
    x += speed;
  }
  ellipse(x, height/2, 50, 50);
}
 
ディジタル画像処理 [改訂新版]
公益財団法人画像情報教育振興協会(CG-ARTS協会)
2015-08-10

frameRate()って関数を使います。
引数は1秒間に実行する回数みたいで、
frameRate(5); ってやると、1秒間に動く回数は5回のようです。

 
int x;
 void setup()
 {
   x = 10;
   noStroke();
 }
 void draw() 
 { 
   background(0);
   x += 1;
   ellipse(x,x,30,30);
   frameRate(5);
 }

 のプログラムを実行すると、丸いボールがゆっくり動く動画を作れます。

 

まず、Imagejで画像を開きます。
左上のファイルでオープンを選んで適当な画像を開きます。



ImageJではじめる生物画像解析
三浦 耕太
学研プラス
2016-03-26




続きを読む

ax + by + c = 0の形は、xとyをバイアスかけずに扱っているので、きれいですし、3次元以上になっても対応できます。

 しかし、デメリットもあります。
直線のイメージがわかないんですよね。 
だから、パラメータのa,b,cが直線の何に影響しているのかわかりづらいです。


おりがみで学ぶ図形パズル
山口 榮一
ディスカヴァー・トゥエンティワン
2008-07-15



続きを読む

点と直線の距離は、直線の式が
a*x+b*y+c=0
であるとすると点(x_p,y_p)との距離は、

d = abs(a*x_p+b*y_p+c)/norm([a b]) 

のように書けますよね?
はじめてのMATLAB
北村 達也
近代科学社
2016-11-02



続きを読む

これが「プログラム的にどう書くか?」って結構戸惑うんですよ。
というのも、直線ってどう表すかっていうと、普通2次元なら
a*x+b*y+c = 0
って書きますよね?

プログラマの数学
結城 浩
ソフトバンククリエイティブ
2005-03-24




続きを読む

画像処理のフィルタといえば?
っていう質問があったとしたら、メディアンフィルタとか?って答えますよね。
では、どんな種類があるのか?って疑問に思ったのでまとめたいと思います。

ディジタル画像処理[改訂新版]
画像情報教育振興協会
2015-03-09




続きを読む

↑このページのトップヘ