暇つぶしのエントロピー

暇つぶしに何して遊んだか記録していく。少し続いたと思ってたら更新飽きた!最近は工作ブログになりつつある。

バウ用3Dスキャナに挑戦

  • 12月
  • 14

9:18 pm Python, お買い物, カヤック, 工作・修理

カヤックのバウ先には硬質発泡ウレタンを削ってフットブレイスを作成することがあるけど内側だしどんな感じで作成するのか結構難しい。

最近、Kickstarter を見てると Rubicon 3D scannereora 3D のようにラインレーザーを使用したプロジェクトがいくつか見つかります。

う~む、これらは対象物を回転させるタイプなのでバウ先のスキャンには使えなさそう….

でもラインレーザーを使うと3Dスキャナって簡単に作れるの?と情報を探すと….『【俺センシング】『Webカメラで3Dスキャナ!』』「【3Dスキャナへの道】」のところに原理が….

をっ、なるほど!作れなくもないかも….とりあえず部品集め。

カメラは…Raspberry Pi を使おう。ラインレーザーとステッピングモーターは…eBay を探す。どっちも 500円しないくらいで買えるじゃん。早速注文。

IMG_0670
届いた。

ちゃんとした形にくみ上げる前にちょっと実験。

バウにラインレーザー発光させてデジカメで写真撮ってみる。
IMG_0666

先日インストールした Python で….グレースケールにする。
[python]from PIL import Image
import ImageOps

if __name__ == "__main__":

img = Image.open("C:/devel/IMG_1234.JPG")
img2 = ImageOps.grayscale(img)
img2.save("C:/devel/IMG_1234Glay.jpg","JPEG")
[/python]
えっ?こんな簡単?
IMG_0666L
いいじゃん。

横1ラインで一番明るい1点のみにしてみる。
[python]from PIL import Image
import ImageOps

if __name__ == "__main__":

img = Image.open("C:/devel/IMG_1234.JPG")
img2 = ImageOps.grayscale(img)
img2.save("C:/devel/IMG_1234Glay.jpg","JPEG")
w, h = img2.size
pix = img2.load()

for y in range(0, h):
c=0
for x in range(0, w):
if c<pix[x, y]:
c=pix[x, y]
for x in range(0, w):
if c==pix[x, y] and c>127:
pix[x, y]=255
c=999
else:
pix[x, y]=0

img2.save("C:/devel/IMG_1234GlayLine.jpg","JPEG")
[/python]
こんな感じかな。
IMG_0666L3
さぁ、計算だ!

と思ったけど、写真縮小しちゃいけないし、カメラごとに補正しなきゃいけないので計算はするのやめました。本番は Raspberry PI のカメラを使う予定なので。


© 2007 暇つぶしのエントロピー. Blog theme by blogstheme.com, debt consolidation.