亚洲欧美日韩一区成人|日韩少妇一区二区无码|91久久澡人人爽人人添|日韩欧美一区二区三区高清|国产一区二区三区乱码网站|国产乱码一区二区三区下载|精品久久久久久久久久久久久|日本高清一区二区三区不卡免费

    1. <track id="mzbtu"><dl id="mzbtu"><delect id="mzbtu"></delect></dl></track>
        <small id="mzbtu"></small>
        1. <i id="mzbtu"><ins id="mzbtu"></ins></i>
          1. <source id="mzbtu"></source>

              【技術(shù)教程】樹莓派制作的3D掃描儀

              開源技術(shù)
              2014
              04/17
              11:56
              分享
              評(píng)論
              作者:the_anykey 翻譯:瑟瑟 校對(duì):plantpark
              Hi,
              我是arduino和樹梅派的忠實(shí)粉絲,當(dāng)然也喜歡3d打印。我想為我的孩子們做一個(gè)3d模型,然后就開始研究怎么去做一個(gè)3d掃描器,我找到了很多的解決方案,但是他們共有的問題是需要被掃描物體靜止一段時(shí)間,好吧 我想做一個(gè)宇宙飛船飛到火星也比讓我兩歲的兒子安靜得坐一段時(shí)間更加簡(jiǎn)單。所以這些方案沒有一個(gè)可以用的。

              我想必須想出一個(gè)辦法來可以同時(shí)拍到很多圖片,所以我開始找廉價(jià)的相機(jī)。如果我能找到廉價(jià)的相機(jī),我想我可以用arduino做個(gè)自動(dòng)觸發(fā)系統(tǒng),然后所有圖片會(huì)在還幾張sd卡里,但是我卻找不到廉價(jià)的數(shù)碼相機(jī),然后我注意到樹梅派和相機(jī)模塊,一個(gè)性價(jià)比很高的模塊,可以用網(wǎng)線鏈接。所以我能通過網(wǎng)絡(luò)觸發(fā)相機(jī)拍照,并把所有圖片下載到一個(gè)地方,然后我的項(xiàng)目投資就開始了。
              項(xiàng)目清單
              -樹梅派 & PI camera *40
              - 8 gb SD卡 *40
              -一個(gè)60a 5v電源給所有樹梅派供電
              -led燈條和12v電源
              由于我不是一個(gè)有耐心的人,沒有一次性構(gòu)建整個(gè)項(xiàng)目,我剛開始用了12個(gè)相機(jī),這個(gè)結(jié)果已經(jīng)很棒了。如果只想得到一個(gè)人的面部,你并不需要40個(gè)相機(jī)。所以你并不需要40個(gè)相機(jī),尤其在你只想得到一個(gè)人的面部。下面視頻是輸出結(jié)果:


              第一步: 搭建設(shè)備






              首先我需要做一個(gè)支撐樹梅派的平臺(tái)。最初我做了一個(gè)木制圓環(huán)做測(cè)試,但是這個(gè)不太實(shí)用并且很難進(jìn)出。在一些測(cè)試之后,我想到了“單極”的設(shè)計(jì)。很多將照片轉(zhuǎn)換成3d模型的軟件里面都需要從不同角度拍攝。所以在每一個(gè)支架上裝了三個(gè)樹梅派相機(jī)
              我用我的數(shù)控車床加工了2mm厚的合成木板做成一個(gè)支架,這讓我能轉(zhuǎn)2mm鉆孔來固定樹梅派,所以我只需要2.5mm的螺絲就能將樹梅派安裝到架子上
              我為樹莓派相機(jī)設(shè)計(jì)了一個(gè)小巧并且方便打印的支架(因?yàn)槲倚枰?0個(gè),所以我需要他們足夠?。?,既可以很好的固定相機(jī),又可以簡(jiǎn)單地調(diào)整相機(jī)角度
              為了更加絢麗,我還每個(gè)支架上加了一米長(zhǎng)的60個(gè)led的燈條,這樣既看起來很酷,又能為拍照補(bǔ)光。

              第二步: 連接


              連接40臺(tái)電腦的網(wǎng)線和電源線會(huì)看起來很亂,我想盡辦法讓它們看著更加簡(jiǎn)潔。不幸的是樹莓派并不支持網(wǎng)線供電(POE),所以這些我得親自完成。我剪了40根5米長(zhǎng)的網(wǎng)線。一樣長(zhǎng)是為了方便我計(jì)算線上消耗的電壓并使其相等,這樣能夠方便的調(diào)節(jié)電源輸出電壓達(dá)到精確的5v
              由于100MB網(wǎng)線只需要用到八根中的四根,所以我用了兩根作為樹莓派5v電源線。所以我需要80個(gè)(2*40)水晶頭,并使用八個(gè)中的六個(gè)(兩個(gè)沒用)。 我想說的是,這是整個(gè)工程里面最乏味最無(wú)聊的工作。
              我買了一捆母接頭跳線,將他們切成兩半焊進(jìn)水晶頭一邊的兩根里面,這樣可以很簡(jiǎn)單的適用于樹莓派的5v接頭
              另一方面 我為60a 5v電源做了一個(gè)電源擴(kuò)展板,我可以簡(jiǎn)單地連接上每一個(gè)以太網(wǎng)線上來的5v和地線
              第三步: 軟件

              我用的是Raspian OS,在樹莓派官網(wǎng)上默認(rèn)下載。為了收集所有圖片,我用了一個(gè)中心文件服務(wù)器(我用了Qnap),我用cifs設(shè)置了樹莓派圖片連接到文件服務(wù)器,這在/etc/fstab 里面完成
              我也用中心文件服務(wù)器來管理軟件,所以我不用手動(dòng)更新每一個(gè)樹梅派。
              在我完成系統(tǒng)鏡像的之后我用dd(在我的mac上)來為樹梅派克隆了40個(gè)sd。我想寫一個(gè)監(jiān)聽腳本讓每個(gè)樹梅派運(yùn)行,監(jiān)聽特殊網(wǎng)絡(luò)廣播數(shù)據(jù)包來觸發(fā)相機(jī),然后保存照片,拷貝到文件服務(wù)器上。因?yàn)槲蚁雽⑺袌D片保存在一個(gè)文件夾里(一次攝影一個(gè)文件夾),我用每個(gè)樹莓派的本地ip(最后三位)作為文件名的前。
              這是我用的python做的監(jiān)聽腳本
              #!/usr/bin/python
              import socket
              import struct
              import fcntl
              import subprocess
              import sys

              MCAST_GRP = '224.1.1.1'
              MCAST_PORT = 5007
              sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
              sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
              sock.bind(('', MCAST_PORT))
              mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
              sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
              def get_ip_address(ifname):
                  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
                  return socket.inet_ntoa(fcntl.ioctl(
                      s.fileno(),
                      0×8915,  # SIOCGIFADDR
                      struct.pack('256s', ifname[:15])
                  )[20:24])
              id = get_ip_address('eth0')
              ip1, ip2, ip3, ip4 = id.split('.')
              print 'ID: ' ip4 '-'
              optionfile = open('/server/options.cfg','r')
              options = optionfile.readline()
              optionfile.close()
              print "optons: " options
              while True:
                 data = sock.recv(10240)
                 data = data.strip()
                 if data == "reboot":
                   print "rebooting…"
                   cmd = 'sudo reboot'
                   pid = subprocess.call(cmd, shell=True)
                 elif data == "reload":
                   optionfile = open('/server/options.cfg','r')
                   options = optionfile.readline()
                   optionfile.close()
                 elif data == "restart":
                   cmd = '/server/reload.sh&'
                   pid = subprocess.call(cmd, shell=True)
                 else:
                   print "shooting " data
                   cmd = 'raspistill -o /tmp/photo.jpg ' options
                   pid = subprocess.call(cmd, shell=True)
                   print "creating directory"
                   cmd = 'mkdir /server/3dscan/' data
                   pid = subprocess.call(cmd, shell=True)
                   print "copy image"
                   cmd = 'cp /tmp/photo.jpg /server/3dscan/' data "/" data "_" ip4 '.jpg'
                   pid = subprocess.call(cmd, shell=True)
                   print "photo uploaded"
              我寫了一個(gè)發(fā)送腳本來讓所有樹梅派開始拍照。這個(gè)腳本會(huì)詢問名字,這個(gè)名字作為文件名首字發(fā)送給樹梅派。這讓我可以知道圖片來自哪一個(gè)樹梅派。
              這是python的發(fā)送腳本
              import socket
              import sys
              import time
              print 'photo name:'
              n = sys.stdin.readline()
              n = n.strip('\n')
              MCAST_GRP = '224.1.1.1'
              MCAST_PORT = 5007
              sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
              sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
              sock.sendto(n, (MCAST_GRP, MCAST_PORT))
              監(jiān)聽腳本用來確認(rèn)接受命令,如果命令是reboot, reload or restart 他會(huì)執(zhí)行特殊動(dòng)作,而不是拍照。
              raspistill(樹梅派相機(jī)默認(rèn)軟件)的配置選項(xiàng)我用了options.cfg文件來配置他,當(dāng)然這也是存在中央文件服務(wù)器里面,所以我可以很簡(jiǎn)單的來改變?cè)O(shè)置。
              我做了些測(cè)試來看樹梅派是否同步拍攝照片,當(dāng)他們同一時(shí)間接收網(wǎng)絡(luò)廣播是我覺得這做的很棒。我做了一個(gè)測(cè)試,12個(gè)相機(jī)組合同時(shí)拍攝我的iphone秒表,照片上的時(shí)間最多差1/10秒。

              第四步: 將照片轉(zhuǎn)換成3d模型


              這是些不同的將照片轉(zhuǎn)換成3d模型的方式,個(gè)人覺得autodesk的recap最好。
              登錄 recap.autodesk.com. 如果你沒有autodesk帳號(hào),你可以免費(fèi)注冊(cè)一下,這個(gè)擁有5G硬盤,轉(zhuǎn)換3d模型足夠了。
              在你登錄了recap,點(diǎn)擊new project,這兒你會(huì)選擇3d模型的質(zhì)量(我都選最好,為什么選更低的呢?)。導(dǎo)出格式,很多3d打印軟件可以直接用obj文件,所以最后選這個(gè)。
              在你將照片拖動(dòng)到你的瀏覽器,或者點(diǎn)擊上傳窗口選擇你的照片上傳之后等照片上傳,點(diǎn)擊兩下next,然后autodesk云系統(tǒng)將會(huì)開始工作將你的照片轉(zhuǎn)換成3d模型,這將會(huì)用15~45分鐘時(shí)間,這是云端進(jìn)行的所以你在等待的時(shí)候可以去做其他事情 。
              當(dāng)繁重的計(jì)算完成之后,你可以點(diǎn)擊中間的縮略圖來看你的3d模型 重要:這個(gè)要在chrome瀏覽器上完成。當(dāng)你觀看你的3d模型的時(shí)候你會(huì)在左邊發(fā)現(xiàn)你圖片的縮略圖相冊(cè),如果一切正常,你應(yīng)該沒有很多(或者沒有)“Not Stitched”在列表中。這表明這些圖片中有些地方?jīng)]有檢測(cè)到,你可以試著點(diǎn)擊圖片上標(biāo)記的點(diǎn)來修復(fù)。但是如我所說,3D掃描儀拍攝足夠多的照片就不會(huì)出現(xiàn)這些情況。
              你可以現(xiàn)在下載obj文件到你本地電腦上去進(jìn)一步處理,比如移除背景,你下載的是一個(gè)zip文件,所以你需要先解壓在跳到下一步
              清理你的3d模型

              有許多程序可以讓你整理你的3d模型,最簡(jiǎn)單的程序是我在autodesk里找到的免費(fèi)的“project memento” 你可以下載memento(只能用于windows)
              http://labs.autodesk.com/utilities/memento
              在你正確安裝project memento后,可以直接打開obj文件,應(yīng)該被稱作 mesh.obj。這個(gè)2d掃描儀的照片是90度翻轉(zhuǎn)的,這意味著你可能有上下顛倒的感覺,在左邊的按鈕“did the orbiting feel off”點(diǎn)擊“feels off”來更正。
              和你看到的那樣,不僅僅你被拍到,周圍環(huán)境也被拍到了,你可能想將那部分切除,這個(gè)在memento里面很簡(jiǎn)單,只要用你的鼠標(biāo)選擇你不想要的區(qū)域就能點(diǎn)擊刪除。旋轉(zhuǎn)模型,你可以很簡(jiǎn)單的選擇并刪除你不想要的部分

              修復(fù)你的3d模型

              為了打印你的3d模型,你需要確定你的模型是完整的(沒有洞再上面),當(dāng)然這個(gè)又能很簡(jiǎn)單的在memento上面修改,memento窗口點(diǎn)擊中上你會(huì)看見一個(gè)彈出框來修復(fù)你的模型。
              通過向?qū)?,任何洞都?huì)被發(fā)現(xiàn),點(diǎn)擊fix。你需要選擇是smooth還是flat。我一般喜歡用flat fix,這用起來很好。再次選擇next來尋找更多的洞。洞需要被修復(fù),其他也是可以選擇的。

              在你修復(fù)所有洞值購(gòu),點(diǎn)擊done,現(xiàn)在你就導(dǎo)出了新的obj文件。你可以點(diǎn)擊memengo左上角點(diǎn)擊彎的箭頭

              現(xiàn)在你可以詳細(xì)的設(shè)置你模型的保存類型。為什么要選低像素呢??。。。潉?dòng)所有模塊到右邊達(dá)到最好的質(zhì)量。
              你現(xiàn)在完成了所有能做的,你得到了一個(gè)可打印的模型,如果你還想修改模型,有很多軟件能幫到你。
              Pixologic Sculptris (免費(fèi)): 這是處理模型細(xì)節(jié)的很好的軟件,比如揉化邊緣,這有點(diǎn)像photoshop,但是是3d的。
              Meshmixer (免費(fèi)):這是從autodesk下載來的其他免費(fèi)程序,他對(duì)于做平地模型很好。
              其他軟件來做3d模型
              除了autodesk recap,其他還有很多選擇來讓你的照片編成3d模型。
              Autodesk 123d Catch (free):這個(gè)用起來像recap(通過云服務(wù)器)這個(gè)比recap更加好,但是限定了你的圖片,所以最后精度不高。
              VisualSFM (free): 這是一個(gè)將你照片變成3d模型的本地軟件,你需要強(qiáng)大的顯卡來運(yùn)行軟件。
              Agisoft Photoscan Standard Edition ($179): 這個(gè)軟件同樣需要你有比較給力的電腦,但是我并沒發(fā)現(xiàn)這個(gè)軟件比recap和123d好到哪里去。

              第五步: 結(jié)果






              在建立了模型之后,沒有比將這個(gè)機(jī)器分享給別人更加美妙了,所以我決定參加Dutch maker faire并且給每個(gè)人提供3d攝影,我可以告訴你他很愉快的工作了6小時(shí)并掃描了225個(gè)人。你可以從我blog了解到更多www.pi3dscan.com


              Step 6: 設(shè)計(jì)文件
              這是我用的設(shè)計(jì)文件。statief是一個(gè)讓我用數(shù)控機(jī)來做過孔的2d cad文件
              camera_mount文件是相機(jī)支架的設(shè)計(jì)文件
              游客,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù)




              回復(fù)

              使用道具 舉報(bào)

              2#
              2014-4-21 12:59:17 | 只看該作者
              過來看一下,看看好弄不
              4#
              2014-4-21 13:41:48 | 只看該作者
              kakakkaaaaaaaaaa
              5#
              2014-4-21 13:41:50 | 只看該作者
              kakakkaaaaaaaaaa
              6#
              2014-5-18 12:58:41 | 只看該作者
              {:soso_e193:}
              7#
              2014-5-18 12:58:56 | 只看該作者
              {:soso_e140:}
              8#
              2014-5-19 23:53:16 | 只看該作者
              有什么隱藏資料啊
              9#
              2014-5-30 13:33:38 | 只看該作者
              好東西,收藏
              看暈了,十樓跳下去 。

              推動(dòng)3D打印

              關(guān)注南極熊

              通知

              聯(lián)系QQ/微信9:00-16:00

              392908259

              南極熊3D打印網(wǎng)

              致力于推動(dòng)3D打印產(chǎn)業(yè)發(fā)展

              Copyright © 2024 南極熊 By 3D打印 ( 京ICP備14042416號(hào)-1 ) 京公網(wǎng)安備11010802043351
              快速回復(fù) 返回列表 返回頂部
              枣强县| 大姚县| 九江县| 佛冈县| 通化市| 姚安县| 格尔木市| 米易县| 大姚县| 仪陇县| 永靖县| 正定县| 靖西县| 邢台县| 治多县| 梧州市| 阿城市| 蒙自县| 嘉义县| 广东省| 安康市| 塔城市| 阿城市| 平湖市| 济源市| 巴青县| 象州县| 兖州市| 广州市| 佳木斯市| 蓬安县| 乡宁县| 吉首市| 霞浦县| 北京市| 长顺县| 香港 | 棋牌| 内乡县| 阳朔县| 乐亭县|