2019年5月31日 星期五

成像公式thin lens equation

最近因為在算lense holder要做多長的問題,需要知道最短工作距離下的像距(最大像距)
成像公式可以根據物距與焦距推算像距

成像公式thin lens equation

2019年5月30日 星期四

用CloudCompare 將 3d 點雲平面轉換到z=0的平面上

因為相機拍攝有個傾角,拍攝出來的平面在空間中會有個斜度,不利後續比較
這時候可以利用cloud compare中的Align功能將點雲的地面與z=0平面貼合
轉換前

用CloudCompare 將 3d 點雲平面轉換到z=0的平面上

在VsCode 使用git

細節網路上都找得到,但有個要注意的點是使用者需要到git source去把資料夾先pull 下來再跟Vs code連結。
Vs 連結的方式是下好Azure Repos插件之後用File>open folder加入pull(有.git資料夾),可能途中會需要輸入一下帳號密碼
完成之後會VS code的左下角status bar會變這樣

在VsCode 使用git

2019年4月24日 星期三

cloud compare 產生 color ramp

vm and sw

最進嘗試在vm上面安裝sw 2018
但sw會偵測環境, 在virtual box無法安裝
百思不得其解
最後用vmWare player就ko了
sw 可以正常run

vm and sw

將資料夾模擬為磁碟機

在vmware上面的共用資料夾會變成一個網路磁碟,
但因為在上面run的軟體吃的是絕對路徑,需要在上面模擬出資料夾
這時候可以用 subst指令
指令功能是產生虛擬磁碟機
指令是
subst 磁碟機代號 來源路徑

將資料夾模擬為磁碟機

2019年3月28日 星期四

property sheet, 免去設定 include 路徑 , lib路徑...的麻煩

最近都用opencv配合C++, IDE用VS2017開發
每個案子要用到openCv就要設定一次,有點麻煩
這時候A大分享一招,property sheet

property sheet, 免去設定 include 路徑 , lib路徑...的麻煩

window10 縮放桌面

突然發現win10 現在可以藉由ctrl+滾輪去縮放改變桌面Icon大小

->

window10 縮放桌面

2019年3月27日 星期三

C++ 取時間到ms

因為目前的程式執行一次需要數百ms,想將每次執行的結果圖片序列存到以執行時間命名的資料夾中, 所以資料夾名稱需要包括 ms
c++ 內建取時間只能取到 秒

C++ 取時間到ms

桃園南平路梁記炸雞專賣 菜單 和 電話

電話: 0983817858
感覺平常生意蠻好的,旁邊學校學生下課很愛吃吧
而且對面懶惰的3Q竟然要下午5點工讀生上班才賣雞排...根本拱手把生意讓人

桃園南平路梁記炸雞專賣 菜單 和 電話

2019年3月26日 星期二

鍵盤數字區不能用?

最近發現鍵盤的數字區(數字鍵盤)打不出字,明明num lock亮著
今天才發現是不小心開到 Windows 10 輕鬆存取用數字鍵移動滑鼠的 Mouse Keys 功能,關掉之後數字鍵就回復正常了

如果右下方圖示,趕快把它關掉吧

鍵盤數字區不能用?

2019年3月16日 星期六

兩組藍芽喇叭同步撥放

因為客廳跟房間各有一組喇叭,房間的直接接筆電,客廳用藍芽接收器連
有時候活動的地方改變,需要手動去切換windows 預設音樂撥放裝置有點麻煩(其實這也是不用另外安裝軟體的一個好方法)
今天發現有個不錯的免費軟體AB-Audio 的 VoiceMeeter(以下簡稱VM)

兩組藍芽喇叭同步撥放

2019年3月14日 星期四

windows 10 取消藍芽耳機與系統音量連動

win10 某個更新之後,有支援AVRCP的藍芽耳機音量鍵就會直接控制到windows的音量

  1. 但以我自己的藍芽耳機來說,這樣音量會太大,這時候可以從登陸擋去取消耳機對電腦的音量控制
  2. 按win+R 執行 regedit.exe 或 按win開啟開始功能表,輸入"登錄編輯程式"
  3. 找到register
  4. Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AVRCP\CT
  5. 裡面應該已經有一個控制項DisableAbsoluteVolume(若沒有則自己新建一個), 將他的值設為 1
  6. 重新開機


參考資料

windows 10 取消藍芽耳機與系統音量連動

2019年2月27日 星期三

VS C++ 專案的使用者權限(UAC)

在開發找COM Port的程式的時候會需要用到 Admin的權限
如果沒有權限,指令未必不可執行,但可能發生不可預期的行為
可以在Project 按右鍵 > Properties > Linker > Manifest file 中 將 UAC (User Account control) 設定為 "requireAdministrator" 強迫 User 要用 Admin 執行

VS C++ 專案的使用者權限(UAC)

多螢幕工具

目前辦公室有三顆螢幕,有時候會有突然找不到游標,或是有時候想將游標鎖定在固定的視窗當中
Dual Monitor tools 可以做到,並且在可以設定按快捷鍵切解除鎖定
可惜的是他沒有將視窗開起在游標位置,要另外找程式
目前可以用AutoHotKey做到

Code下載

#Persistent
SetBatchLines, -1
Process, Priority,, High

Gui +LastFound
hWnd := WinExist()

DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return

ShellMessage( wParam,lParam ) {

  If ( wParam = 1 ) ;  HSHELL_WINDOWCREATED := 1
{
WinGetTitle, Title2, A

; Activate top window
WinActivate, %Title2%

; This un-maximizes fullscreen things to prevent UI bug.
WinRestore, %Title2%
; Mouse screen coords = mouse relative + win coords therefore..
WinGetPos, xtemp, ytemp,,, A ; get active windows location
MouseGetPos, X, Y   ; get mouse location

;; Calculate actual position
;; -16 on x and y pos allows you to doubleclick and close window(most of the time)
xpos:=temp-16
ypos:=temp-16

WinMove, %Title2%, , %xpos%, %ypos%  ; move window to mouse
     }
}

多螢幕工具

2019年2月13日 星期三

C++ 忽略跳脫字元(Escape Codes)

常常在路徑中都會含有 \的字元,造成\以後的字元與\形成跳脫字元(Escape Codes)
可以用R"()"來避開
ex:
String path = R"(D:\)"
就與
String path = "D:\\" 的結果相同

C++ 忽略跳脫字元(Escape Codes)

2019年2月12日 星期二

visual studio / visual studio code 將游標留在螢幕中央插件

2019年1月16日 星期三

vscode intellisense 消耗太多記憶體

intellisense消耗>10 GB的RAM造成系統及VS code沒有回憶
以下面的方式改用Jedi
在setting(ctrl+p, ">setting")中搜尋"python.jediEnabled": true或勾選並reload,

vscode intellisense 消耗太多記憶體

2019年1月10日 星期四

改變'jupyter notebook顏色

Jupyter中顯示行號

方法1

在command mode(可以打字的狀態按esc) 下按 L
效果: 只有單個Cell 顯示行號
 

方法2
在chrome開啟開發人員選項


在consle中輸入
var cell = Jupyter.notebook.get_selected_cell();
var config = cell.config;
var patch = {
    CodeCell:{
        cm_config:{lineNumbers:true}
    }
}
config.update(patch)
按return

參考資料: stackoverflow

Jupyter中顯示行號