發表文章

3D光柵片~~~意外變成超商照片輸出比較

圖片
現在正在嘗試3D光柵板3D圖片的, 3D光柵板原理就是在相片上擺上有光柵的壓克力,讓使用者不需戴上3D眼鏡就可以看到兩種不同的圖形,以達到3D的效果。      用說的很生疏,但其實大家都看過,小朋友的小貼紙有一種上翻就會變換一個動作往下翻就會變換另外一個圖形很有趣的變換,那種就是光柵的圖片。        3D光柵板的原理其實並不困難,只要調整好圖片的解析度,圖片的合成即可,但最困難的是如何把這張圖片1:1的印出來才是最困難的地方,經過與友人的討論發現現在印表機,都會自動地幫你把圖片縮放,真的很難1:1的輸出到相片上,就像如下的圖形


原圖

放大

第一攔是  一行白色一行藍色 第二欄位 是 兩行白色兩行紅色 300DPI的照片 為了輸出 4 X 6 照片 所以解析度是 1800 * 1200

當我拿到7-11去做明信片輸出的時候發現7-11的彩色印表機根本不到150dpi 以下圖片看到就算是兩行白色 兩行紅色的150DPI的圖形,也無法印出,初步推測7-11 IBON大概100dpi以下


放大看
藍色的300dpi 完全糊掉 紅色的150doi 也不太好


接著我要去萊爾富與全家的相片機(立可得),號稱他們輸出為相片品質。


不過實際測試之後發現真的比7-11好一點但也沒有好太多,

150dpi 可以清出分行 但300dpi還是不行
但還是會縮放你的圖片,導致沒有辦法完整的控制你要的圖形。
輸出照片300dpi 呢?   這已經是很低標了吧,所以我還在既須尋找可以輸出300dpi的印表機,目前會先去找專業的相片行輸出看看。
後來發現我意外的就比較了兩家的輸出品質,這不是我的本意我只是想要輸出一個完整300dpi相片
剛好有很明確的數據 
就讓你們參考

Unity 如何在專案讀取的時候自動執行,並且判斷某個Class是否存在

因為套件的需要,所以需要在專案載入的時候做一些程式,不難只需要如下程式,參考Unity官方網站https://docs.unity3d.com/Manual/RunningEditorCodeOnLaunch.html

using UnityEditor; using UnityEngine; [InitializeOnLoad] class MyClass { static MyClass () { EditorApplication.update += Update; } static void Update () { Debug.Log("Updating"); } }
雖然他說只會執行一次,但我實驗下來,每次進入viusal studio 回到unity就會再度執行一次 網友也提出了解決辦法 https://answers.unity.com/questions/1418351/how-to-run-a-script-once-when-a-project-is-first-l.html

#if UNITY_EDITORusingUnityEngine;usingUnityEditor;[InitializeOnLoad]publicclassAutoEditorCode:ScriptableObject{staticAutoEditorCode m_Instance =null;staticAutoEditorCode(){EditorApplication.update +=OnInit;}staticvoidOnInit(){EditorApplication.update -=OnInit;

類神經網路雜談

圖片
其實不管是類神經網路,學習語言或是學習任何領域的知識,都不斷的強調:
先去用了,就知道要學什麼

特別是類神經網路這哦領域的知識,看了數種tensorflow 教學,有些人用數學的方式來介紹神經網路,嚇壞了一堆人,包括我,以為要學習神經網路要有非常深厚的數學能力,事實上當我們開始撰寫Tensorflow的程式碼的時候,一行數學式子都沒有用上,連我自己都嚇傻眼,但我不是反對你去了解這些數學式子,而是要告訴你其實學習類神經網路這件事情,比完全了解神經網路運作原理來的簡單太多了。

就像學開車一樣,其實大多數的人(包含我),都一直以為開車加速的[油門]是真的把油打開,但開車開了這麼多年上山下海,直到最近才知道原來所謂的油門,其實應該稱作[氣門],我們實際上並不是控制油,而是控制進氣閥,控制進去引擎的空氣量大小,錯了這麼多年了對於我們開車這件事情好像沒有太多影響。

如果不去深入了解類神經網路的數學式與原理,那我們該了解什麼,這也是這篇文章最重要的重點,學習類神經網路我們應該去瞭解他的觀念還有他的特性,並學會怎麼去假設我們的問題與目標,並使用神經網路幫我們解決這個議題。

那我們該怎麼學習神經網路,Google一開始用了幾個範例來交導我們入門,用了手寫辨識這個簡單的範例,但是這個範例有一個很大的問題,就是不見頭不見尾,我娓娓道來。

分類(classification)的問題,為什麼很多機器學習的一開始就會介紹分類,而學習神經網路也對於分類這麼重視,事實上他就是我們大腦無時無刻都在做的事情,只是我們不稱他叫做分類,我們稱它叫做[決定]、[判斷]。
       舉一個簡單的例子,例如我今天中午想要吃什麼午餐,我會想想 我肚子有沒有很餓,現在天氣式冷還是熱,所以我再[決定]要吃什麼午餐的時候我就是在以 肚子餓的程度與天氣的溫度做為判斷依據,於是我開始收集數據

肚子很餓,天氣很冷   想吃火鍋
肚子不餓,天氣很冷   想吃牛肉麵
肚子很餓,天氣很熱   想吃便當
肚子不餓,天氣很熱   想吃涼麵


如果我把這件件事情量化(量化就是把事情用數字表示),肚子餓用0-100分評比
(肚子 50分以下代表很餓 50分以上代表不餓)
(溫度 26度 以上大表很熱 26度以下代表很冷)


肚子 30,溫度 15  答案  火鍋
肚子 60,溫度 15  答案  牛肉麵
肚子 30,溫度 30  答案  便當
肚子 70,溫度 31 …

xamarin 編譯的時候遇到 找不到檔案 'obj\iPhone\Release\XXXXXX.exe.manifest'。XXXXXX

圖片
關閉 ClickOnce 這個選項
\專案(右鍵)\屬性     安全性\啟用 ClickOnce 安全性設定 關閉

ibeacon ios教學

ibeacon 是一個藍芽的發射器, ios或是android 可以透過搜尋ibeacon的訊號強度來判別手機是否進入ibeacon的範圍內,以達到

1. 手機是否進入某個範圍 (將ibeacon 放置特定區域)
2. 點名附近所有ibeacon ( 將超小型的ibeacon放置於需要點名的物品上 例如鑰匙 小孩 錢包
)

ibeacon 使用藍芽的ble技術,所以非常省電通常一顆鈕扣電池可以使用3個月不關機,如果使用大一點的電池可以撐上一兩年不需要更換電池.


一開發ibeacon之前 我們需要一台ibeacon發射器, 不花錢方案或是網路買一個

1.用iphone 或是ipad模擬

     例如這個
https://itunes.apple.com/us/app/beacon-simulator/id1098267039?mt=8

2.用android 模擬

例如這個
https://play.google.com/store/apps/details?id=net.alea.beaconsimulator&hl=zh_TW

3.用樹莓派模擬

     如這個網站介紹
http://cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pi-40ibeacon.html
   指令如下
sudo hciconfig hci0 up sudo hciconfig hci0 noscan sudo hciconfig hci0 leadv
sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60 D0 F5 A7 10 96 E0 00 00 00 00 C8 00 關閉如下
sudo hciconfig hci0 down 二 ios 開發
在ios11開發 ibeacon 需要在info.plist中註冊三件事情
NSLocationAlwaysAndWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription

ios11 改變了需要註冊這三個才能開發,

CODE

以製作剪刀石頭布的遊戲來學習神經網路Tensorflow 與 Keras--計畫開頭

學習了一些網路上的神經網路資源,但是多半停留在MNIST的數字手寫範例,

希望以實作的方式製作一款剪刀石頭步的遊戲來介紹LSTM與CNN達到有趣的入門神經網路
目標希望能學習到tensorflow 與 keras 所以會以tensorflow 先期製作,再以keras再度製作,


計畫步驟
一、使用鍵盤輸入完成LSTM預測的遊戲
       1. 先撰寫Tensorflow  LSTM 預測 剪刀石頭步的程式,驗證想法是否可行
       2. 使用Keras LSTM 再度製作
       3. 撰寫介紹文
       4. 錄製短片

二、撰寫CNN 辨識剪刀石頭步的範例
      0.先撰寫Python取得攝影機資料
      1.先撰寫Tensorflow CNN 辨識剪刀石頭步
      2.使用]Keras CNN再度製作
      3.撰寫介紹文
      4.錄製短片

三、結合一 、二製作剪刀石頭步的完整遊戲。


A star path project PRO RVO

使用 A star path project PRO 的 RVO
1.專案裡要有 AStar Path 來尋找路徑引擎
2.加入RVOSimulator

移動的物件加入
1.Seeker
2.RVOController
3.RVOExampleAgent
4.FunnelModifier <--如果沒有加這個 他不會看到主角就主動轉過去 而是笨笨的走道巡路點
5.simple smooth <--如果沒有加這個 物體就會快速地抖動



RVOController  
 Mask 是地板的偵測
"Layer mask for the ground. The RVOController will raycast down to check for the ground to figure out where to place the agent"


Layer <--我自己是哪一層 這是RVO的物件並不是LAYER的物件
Layer mask specifying which layers this agent will avoid.

collidesWith  是指我碰撞那一些RVO ,這些主要是用在 敵人與自軍 分層使用