2016/09/18

[Windows] Visual Studio + OpenCV

Reference:
將OpenCV完美建置於Visual Studio上
Setting Up OpenCV 3.1 in Visual Studio 2015 (Youtube Video)

To make OpenCV work correctly with Visual Studio 2015, you should download OpenCV which version is newer than 3.1

You can use the testing code below to confirm whether it works
Remember to add

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

at the beginning of the source code
#include 
#include 
#include 

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
 argv[1] = "D:\\picure.jpg";
 Mat image;
 image = imread(argv[1], CV_LOAD_IMAGE_COLOR);

 if (!image.data)
 {
  cout << "No Image" << std::endl;
  return -1;
 }

 namedWindow("Display", CV_WINDOW_NORMAL);
 imshow("Display", image);
 waitKey(0);

 return 0;
}
 

2016/08/13

[LaTex] Windows下的Latex中文環境

        由於seminar與論文寫作的需要,得先建構好LaTex的環境,而原本的LaTex是不支援中文字的,需要額外package (package名稱CJK ,代表 Chinese、Japanese、Korean)才行,這篇文章就是紀錄解決LaTex處理中文的問題。

        以Windows為例,安裝MikTex (過程可以參考 這則PDF,但是中文字我不是用他提到的方法解決,後面會說)

        安裝完成之後,先把MikTex的套件庫進行同步更新,在開始功能表的搜尋功能,尋找"Miktex Package Manager (Admin)",並且選擇"Repository"-->"Synchronize"

MikText Package Manager


        裝好MikTex之後,基本上他會給你一個叫做Texworks的編輯器,不過介面有點陽春
所以我選擇安裝另外的編輯器 Texmaker 來用
(MikTex跟Texmaker像是compiler跟IDE的關係,意即你可以選擇自己喜歡的editor來用 [註1])

        接著打開Texmaker,左邊區域是檔案架構,中間是編輯區,右邊是編譯後預覽PDF
     
Texmaker執行畫面
     
        新增一個文件,並且copy-paste底下取自ptt LaTex版的範例 [註2]
\documentclass{article}

\usepackage{xeCJK}    %打中文必備
\setCJKmainfont{新細明體}     %設定中文字型,而英文不去更動

\begin{document}
可以打中文了。好高興。English Test. 插入中文,試試看。This is a simple template for a  XeLaTeX
document using the article class, $\displaystyle\sum_{i=1}^p L_i \leq n \leq \sum_{i=1}^p U_i$,
with the fontspec package to easily select fonts.
\end{document}
        之後點"快速編譯"左邊的箭頭來compile,或者使用快捷鍵F1
此時系統應該會提示有缺少的package,全部按yes讓他去下載安裝,輪到xetex-def的package時,會無法下載,錯誤訊息寫"xetex-def not found"
     
        Google後得知xetex-def已經被捨棄,改用graphics-def取代 [註3]
故需打開MikText Package Manager (Admin),手動找尋graphics-def來安裝

       
     
        裝好回到Texmaker按F1,就能順利compile成功!!


       順便附上爬文時找到一些教學介紹

大家來學LaTex
http://web.math.isu.edu.tw/yeh/HowTo/HowToTex/latex123.pdf (雖然是2004的文件,不過應該是基礎入門的經典了,原本網站已經連不上,這份PDF是在義守大學網頁找到的)

XeTeX:解決 LaTeX 惱人的中文字型問題:
http://www.hitripod.com/blog/2011/04/xetex-chinese-font-cjk-latex/

Miktex+texstudio支持中文内容的方法
https://yinqingwang.wordpress.com/2015/06/10/miktex%2Btexstudio%E6%94%AF%E6%8C%81%E4%B8%AD%E6%96%87%E5%86%85%E5%AE%B9%E7%9A%84%E6%96%B9%E6%B3%95/



[註1] 關於LaTex的介紹與版本比較可以參考 LaTex的各種發行板與編譯器的比較,裡面表列了常見的compiler與editor的比較,如果你喜歡,也可以用純文字編輯器Vim、Notepad++打完透過command line下指令compile

[註2] https://www.ptt.cc/bbs/LaTeX/M.1366782607.A.202.html
[註3] http://tex.stackexchange.com/questions/319150/miktex-xetex-def-package-installation

[FW] rg3

後來再github上找到另外一個project,感覺比前一篇的全面
看介紹應該能抓不同影音平台的檔案
詳細參數參考網址中的說明

download videos from youtube.com or other video platforms
https://github.com/rg3/youtube-dl


紀錄一下常用的格式
youtube-dl %(autonumber)s-%(title)s.%(ext)s --autonumber-size NUMBER

[autonumber]
自動編號,預設是5 digits (即00000),可以像上面例子藉由--autonumber-size改變digit數

[title]
影片標題

[ext]
副檔名

[NUMBER]
給--autonumber-size的參數,指定標號要用多少digits

[FW] Download play lists from a Youtube channel

See
https://github.com/jdupl/youtube-dl-channel

2016/07/11

[ACM] Q10008

#include 
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <algorithm>

struct item{
 char chr;
 int time;
};

using namespace std;

int main(){

 int n;
 item data[26];
 char str[1024]="", line[256];
 
 for(int i=0; i<26; i++){ 
  data[i].chr = 'A'+i;
  data[i].time=0;
 }
 
 scanf("%d", &n);
 getchar();
 
 while(n){
  gets(line);
  strcat(str, line);
  n--;
 }
 
 for(int i=0; i<strlen(str); i++){
  
  if(isalpha(str[i])){
   
   if(isupper(str[i])){
    //upper letter
    data[str[i]-'A'].time++;
    
   }else{
    //lower letter
    data[str[i]-'a'].time++;
   }
  }
  
 }
 
 //sort
 for(int i=0; i<26; i++){
  
  for(int j=i+1; j<26; j++){
   
   if(data[j].time > data[i].time){
    swap(data[i], data[j]);
    
   }else if(data[i].time == data[j].time){
    
    if(toupper(data[i].chr) > toupper(data[j].chr)){
     swap(data[i], data[j]);
    }
   }
  }
 }
 
 //display result
 for(int i=0; i<26; i++){
  if(data[i].time > 0){
   printf("%c %d\n", data[i].chr, data[i].time);
  }
 }
 
 return 0;

2016/07/05

[Python] PyPI (Python Package)

https://pypi.python.org/pypi

[Python] pip.py path in Windows

If you get the error message "pip is not recognized as an internal or external command,
operable program or batch file."  Add the path below to environment variable:

C:\Users\User_Name\AppData\Local\Programs\Python\Python35-32\Scripts

2016/06/21

[Babun] compile with g++

Babun is a shell that allows you to use Unix/Linux command in Windows system.

If you see the message "fatal error: stddef.h: No such file or directory" in babun while compiling cpp source file.

Just use the command to update

pact update gcc-core gcc-g++

[Clion] Quick Start Guide

https://www.jetbrains.com/help/clion/2016.1/quick-start-guide.html

2016/05/15

VirtualMachine 由 USB 開機

Download: https://www.plop.at/en/bootmanager/download.html

將下載回來的檔案解壓縮,只需要用到plpbt.iso
以VMware為例,VirtualBox作法相似,都是指定CD/DVD開機,並且設定好USB連結後啟動虛擬機

在VMware中的CD/DVD Device指定為plopbt.iso,並插入USB
啟動虛擬機後就能從選單中選擇USB開機

2016/05/11

[Go] GOPATH

export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin

Reference: https://golang.org/doc/install

It is better to install go by downloading binary file.
If you use apt-get to install go, do not set "export GOROOT=$HOME/go"
To unset that, type "unset GOROOT"

[Vim] Vundle (Vim Plugin Manager)

為了替vim加入輔助不同語言開發的plugin
爬文所發現的plugin manager
基本上想要加上新的vim plugin,只要在.vimrc設定檔中加入Plugin 'plugin name'
再到vim裡面執行:PluginInstall,就會自動幫你處理到好,非常方便。


2016/04/17

[Go] Golang Learning Resource


[Websites]


1. https://github.com/dariubs/GoBooks
2. http://www.golang-book.com/
3. https://github.com/ardanlabs/gotraining/tree/master/reading?utm_content=buffere9092&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer


[Books]


1. The Little Go Book (從變數命名判斷作者一定是七龍珠迷...)
http://openmymind.net/The-Little-Go-Book/


[Reference]


1. Golang.org
2. Go by Example
3. Go Tutorial
4. GoDoc

to be continued...

[Go] Golang plugin for Intellij platform


Reference: https://plugins.jetbrains.com/plugin/5047
Project on Github: https://github.com/go-lang-plugin-org/go-lang-idea-plugin

Link below is the autocompletion tool Gocode for Golang
https://github.com/nsf/gocode


(4/18 update) 

Golang plugins for Atom Editor



Golang plugin for Visual Studio Code

2016/03/29

Virtual Machine Image



可以下載Linux Image的網站
對於偶爾會用到Linux做為測試環境
卻又不想自己在虛擬機(VMware/VirtualBox)安裝OS的人是個方便的選擇

2016/03/01

[Linux] vim-youcompleteme installation



Project: http://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64-installation

一個讓vim具備程式碼自動完成的plugin


(每年都有學弟妹抱怨在Linux上拿vim coding很難用...我想大概跟打洛克人一樣,素身X當然不好用啊www)

除了透過專案網址提供的方法,Ubuntu/Linux Mint也可以利用下列方式安裝:

sudo apt-get install vim-youcompleteme
sudo apt-get install vim-addon-manager
vam install youcompleteme

Reference: http://blog.csdn.net/pdcxs007/article/details/49103981


2016/01/18

[Android] Debug Without USB (use Wi-Fi)

不想要每次Debug時都拿USB線拔來拔去,可以透過無線網路的方式來取代
需要注意的是運行Android Studio開發工具的PC跟Android Device必須在相同區網
傳統方法是自行下指令切換ADB連接模式,後來有人把它寫成Android Studio的plugin


[Android Studio Plugin]

從工具列 File -> Settings -> Plugins
搜尋wifi adb,把它裝起來就可以



















Android裝置第一次使用要先用USB連線,再點工具列上面的plugin圖示
它會出現連線成功與否的提示訊息,之後斷開USB,按執行就能透過Wi-Fi來做debug了







Project on Github: https://github.com/pedrovgs/AndroidWiFiADB



[Manual in Command Line]


1.
首先進入Android Studio SDK的路徑,預設安裝路徑應該長得像下面這樣
C:\Users\使用者名稱\AppData\Local\Android\sdk\platform-tools

2.
(將Android Device以USB線連接到電腦)
開啟命令提示字元

adb devices
可以檢視連接的裝置名稱,如下圖






記下裝置名稱(像圖中HT33BTP00443的部分)

3.
adb -s Android裝置名稱 tcpip 5555





4.
adb connect  Android裝置IP
出現連線成功訊息後,就能在Android Studio中選擇作為debug裝置
之後想變更連線類型的話,請參考下面這篇的作法
http://cms.35g.tw/coding/adb%E4%BD%BF%E7%94%A8wifi%E9%80%B2%E8%A1%8C%E9%99%A4%E9%8C%AF-adb-wifi/