OpenCV 與 OpenGL 座標系

本篇紀錄一下 OpenCV 與 OpenGL 座標系。
OpenCV 與 OpenGL 都是右手座標系.
OpenCV 座標系 只要沿著 x 軸 旋轉 180 度 就是 OpenGL 座標系.

OpenCV 座標系:

1
2
3
4
5
6
  z
-----> x
|
|
v
y

OpenGL 座標系:

1
2
3
4
5
6
  y
^
|
|
-----> x
z

參考
https://www.learnopencv.com/rotation-matrix-to-euler-angles/
https://stackoverflow.com/questions/12933284/rodrigues-into-eulerangles-and-vice-versa

字幕編輯工具

感覺 Openshot 內建的字幕編輯方式不是很好用, 簡單影片還可以應付.

相片停留秒速最好在5~7秒,
10-15分鐘的影片(約120-180張圖),
又含字幕的話(一張配一句話), 那字幕起碼也是120-180句,
按 Openshot 那樣的編輯方式的話, 我可能會編輯到暈掉.

所以思考過後決定用srt外掛字幕的方式來編輯字幕, 之後字幕搞定後, 再來把影片跟字幕做一個整合轉檔.

Ubuntu 下有個字幕編輯工具, 安裝方式如下:

1
sudo apt-get install gnome-subtitles

參考
https://linux.cn/article-4657-1.html

Rotation Conversions

在做三維空間物體旋轉時, 經常會從某個旋轉表示式轉換成另一種旋轉表示式
常見的旋轉表示式有:

  • Rotation Matrix 旋轉矩陣
  • Euler Angle 歐拉角
  • Quaternion 四元數
  • Rotation Vector 旋轉向量

這裡有個旋轉表達式的轉換公式與程式的網站
http://euclideanspace.com/maths/geometry/rotations/conversions/index.htm

我自己有寫個 C++ 的版本 libQuaternion 來做這些轉換.

其他參考
三維旋轉表示法 - 歐拉角、旋轉矩陣、旋轉向量、四元數
三維空間的旋轉矩陣

Github 更換 Github Pages 網頁主題

本篇介紹如何使用 Github Pages 提供的網頁主題以及切換,
在 Github 網頁上切換至 欲新增專案首頁 的專案
點選 Settings, 滑到 GitHub Pages 區域
Source 選 gh-pages branch (表示 gh-pages branch 會放置網頁相關的設定)
再按 Change theme 選擇喜歡的主題, 搞定完成!

Read More

Bluetooth Programming

這篇介紹使用 C/C++ 語言寫 Bluetooth 通訊的教學
適合於入門藍芽開發者、寫過 socket 程式的更容易上手.

資料來源是參考下列的原文資料
An Introduction to Bluetooth Programming

詳細程式內容請參考
BluetoothProgramming

安裝開發套件

Ubuntu 使用下列指令安裝開發套件函式庫

1
2
sudo apt-get install libbluetooth-dev libbluetooth3
(sudo apt-get install python-bluez)

藍芽基本指令

查看藍芽裝置

1
hciconfig

掃描附近的藍芽裝置

1
hcitool scan

讓你的裝置可以被掃到

1
sudo hciconfig hci0 piscan

重新命名

1
sudo hciconfig hci0 name 'Device Name'

參考文章
Chapter 4. Bluetooth programming in C with BlueZ

Qt and OpenCV 3 on Windows (使用MSVC)

介紹一下怎麼在 Windows 下使用 Qt 和 OpenCV 3.

系統環境

  • Windows 7
  • Qt5.10.0 (編譯器選擇 MSVC 2015 32-bit)
  • OpenCV 3.3.1 (準備用 MSVC 2015 來 build)
  • Cmake

安裝 Qt

先從官網下載 Qt, 目前最新為5.10, 安裝好之後
並把 Qt dll 路徑加進系統環境變數裡 (這步很重要, 因為要用它來編譯OpenCV)

1
C:\Qt\Qt5.10.0\5.10.0\msvc2015\bin

編譯 OpenCV (使用 MSVC 編譯)

從官網下載 OpenCV 並解開, 執行下列指令

1
2
3
4
cd opencv-3.3.1
mkdir build
cd build
cmake-gui.exe ..

在make-gui上按照下方流程進行

1
2
3
選擇 Visual Studio 14 2015  
選擇 Use default native compilers
再按 Finish

按一下 Configure

1
2
勾選 WITH_OPENGL
勾選 WITH_QT

再一下 Configure (確定都沒有紅色), 再按一下 Configure, 再按 Generate
接下來就可以開始編譯與安裝
到 C:\opencv-3.3.1\build 開啟 OpenCV.sln

1
2
編譯:選擇 ALL_BUILD 然後 Build
安裝:選擇 INSTALL 然後 Build

把安裝後的資料夾 C:\opencv-3.3.1\build\install\x86\vc14 資料夾複製到 C:\opencv\build\x86 底下去

把 OpenCV dll 目錄加進系統環境變數裡 (這步很重要, 否則執行期間會找不到dll)

1
C:\opencv\build\x86\vc14\bin

之後在 Qt 專案檔 .pro 加入下列變數

1
2
3
4
5
6
7
8
INCLUDEPATH += C:\opencv\build\include

LIBS += C:\opencv\build\x86\vc14\lib\opencv_core331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_highgui331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_imgcodecs331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_imgproc331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_features2d331.lib
LIBS += C:\opencv\build\x86\vc14\lib\opencv_calib3d331.lib

上述的 LIBS 是 release 版的, debug 版的需要額外再加入
LIBS 的格式用下列也可以

1
2
3
4
5
6
7
LIBS += -LC:\opencv\build\x86\vc14\lib \
-lopencv_core331 \
-lopencv_highgui331 \
-lopencv_imgcodecs331 \
-lopencv_imgproc331 \
-lopencv_features2d331 \
-lopencv_calib3d331

搞定結束!

參考
windows下QT creator+openCV配置和使用

其它相關文章推薦
[Qt] 讀檔,讀取 txt 文字檔
[Qt] 寫檔,寫入 txt 文字檔
安裝 Qt 在 Windows 7 (使用MSVC)
Qt產生的exe發布方式
Qt 新增多國語言.ts翻譯檔案
Qt5的中文亂碼問題如何解決

Hexo 寫作篇

建立草稿

1
hexo new draft 'new-article'

編輯草稿

用自己慣用的編輯器打開編輯

1
retext source/_drafts/new-article.md

發布草稿

名稱不包含.md

1
hexo publish draft 'new-article'

其他

如何在文章中正確的加入圖片與檔案
正確的引用圖片方式是使用下列的標籤插件而不是 markdown:

1
2
{% asset_img example.jpg This is an example image %}
{% asset_link example.cpp This is an example cpp %}

官網說明 標籤插件

在 Ubuntu 下安裝 OpenShot

今天介紹一套免費 、好用、跨平台的剪輯軟體 OpenShot
介紹一下怎麼在 ubuntu上 安裝

安裝環境為 Ubuntu 16.04
選擇使用 PPA 安裝
(試過下載官方提供的 OpenShot-v2.4.1-x86_64.AppImage 檔可以執行, 但是語言選擇卻沒有繁體中文)

1
2
3
sudo add-apt-repository ppa:openshot.developers/ppa
sudo apt-get update
sudo apt-get install openshot-qt

顯示一下安裝的版本

1
2
$ dpkg -l | grep openshot-qt
ii openshot-qt 2.4.1+0+850+119+201711232230~ubuntu16.04.1 all OpenShot video editor

之後啟動 openshot-qt 即可開始使用
一開始是英文界面, 切換語言請到 Prefences > General > Language 選擇

我的常用軟體

介紹我在 Windows, MacOS 和 Ubuntu 各平台使用的軟體.
基本上我是蠻喜愛跨平台軟體的, 學一次就可以在各平台上使用是件輕鬆的事情.
生活就該這樣簡簡單單就好.

影片剪輯

  • OpenShot