發表文章

目前顯示的是 2015的文章

Debian, Parallels desktop 筆記:如何建立自己的 Shared Folder / Debian and PD(Parallels Desktop) notes: How to create your own shared folder in the Linux VM in Parallels Desktop

圖片
Hi! I'm Eric. I'm not good at English and this is my first time using English to write an article. So if there are some problems in this article, welcome to inform me. I will be so glad and thank you for giving me a chance to learn the knowledge about computer science and training my English ability. I will use English to write this article because I search a lot of key words to search how to create an own shared folder in Linux VM with the location I prefer, but that took me so much time even if I search it with English. So I record how to do by my way to help someone who is the beginner like me and hope this article can help them. ----------------------------------------------------------------------------------------------------------------------- Before we start, you need to install Parallels Tools and set some options in the VM configuration. You can fallow following websites' steps to complete these missions. install parallels tools: web1 , web2 set up shared

Debian Linux 筆記: 簡單新增使用者的 sudo 權限

sudo 的好處: 若想要讓部分的使用者使用管理員的權限,勢必要給他們 root 的帳密,並以 root 的身分登入,但因此有一個問題誕生了。 D是系統管理員,若今天 D 給了 ABC 三個人 root 的登入方式,而 ABC 三個人分別用 root 的身分做了三件事情。但是系統紀錄的卻是這三件事都是 root 做的,無法辨別 ABC 到底是做了哪些事。 而 sudo 的意思是,ABC 分別使用自己的身分去執行這三件事,只是在當下擁有 root 的權利,但是系統的記錄分別用個人的身分去紀錄事件由誰去執行的,因此事後要去追究或尋找執行這個事件的人是誰時就變得很方便了。 因為我是安裝 Debian Linux,所以一開始是沒有 sudo 這項指令的,因此我們需要先安裝 sudo 的指令包。 在安裝安裝包前我們要登入 root 權限: su - 以上的指令使用法是: su 使用者名稱or- 如果 su 後面接的是 使用者名稱,就代表在該 bash 下再建立一個,而該 bash (不太熟,有錯歡迎糾正)是由該使用者的身分登錄。而在 su 的後方若不是接 使用者名稱 是改接 - ,則代表使用 root 帳號登入。 (總之 su 就是更換使用者就是了!) 再輸入 root 密碼後,我們登入了 root 帳號,接者就可以安裝 sudo 了: apt-get install sudo 輸入這項指令後,sudo 就會開始安裝。 在安裝完成後,該電腦就會有 sudo 的指令可以使用了,但是在剛安裝好的時候 是沒有辦法每個人都使用的 sudo 的,因為還沒有任何一個人被登記為使用者。因此以下要來讓我們的使用者可以使用 sudo。 其實在安裝完 sudo 後,系統會多出一個 Group ,而其名正好就是 "sudo" ,而只要是在該 Group 底下的使用者都有可以使用 sudo 的權限。 因此我們的任務就是要把自己的使用者加到這個 Group 內: adduser 使用者名稱 sudo 請注意,在使用這行指令時依舊需要在 管理員權限(root 或已經有 sudo 使用權的使用者下使用),才能進行該權限的更改。 這行指令輸入後,該使用者就擁有 sudo 的使用權了。 但是最後注意:更改權

Android 筆記:在Android Studio上製作分頁效果(FragmentTabHost 使用方法)

圖片
這次的筆記內容是利用 FragmentTabHost 和 Fragment 來製作分頁的效果。 因為最近想要製作一些多功能的 App,想把各種功能透過多個分頁來實現,因此來學習如何製作分頁效果。 主要的介面是利用 FragmentTabHost 來配置, FragmentTabHost 來當作容器,並放入許多 Fragment 來當作分頁。 步驟一:製作 FragmentTabHost 的 xml 檔 我常提醒我的學弟或是同學,如果有可以請 IDE 幫忙做完的工作就竟量讓 IDE 幫忙完成,所以我個人的習慣是:如果要創建Activity時都會選擇他們的預設選項,讓 IDE 幫我把 xml 和 java 檔一起建出來。 但這次,Activity 中沒有 FragmentTabHost 的預設選項,因此預設時做出來的 xml 檔需要大幅修改。 先來看一下主頁 FragmentTabHost 的 Layout 程式: <android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TabWidget android:id="@android:id/tabs" android:orientation=&qu

OpenCV on Android 開發筆記:於 Android Studio 上設置 OpenCV 開發環境

圖片
現今要開發 Android 可說是越來越容易了,回想以前還必須自己架設 Eclipse 的 Android 開發環境,而現今已有了一個超越 Eclipse 的存在 ─ Android Studio。 那我也不廢話多說了,趕緊開始吧! 首先,您一定要先下載 API 14 的 SDK。 (如果找不到 API 14 可至左上方 package 選單中將  "Show Obsolete Packages" 勾選,勾選之後就看得到了!)   然後到 OpenCV 官網下載官方的 OpenCV for Android 的 SDK 壓縮包。 解壓縮後,放在一個熟悉的位置,因為之後會蠻常用到的 (最常用到的應該就是多看範例程式吧!)。 接著就可以開始創立一個新的專案。 接著請注意以下步驟: 請於 File > Project Structure 中... 進入後會看到以下畫面,請點選左上方的綠色小加號... 點選後會進入以下畫面,並選擇 "Import Eclipse ADT Project"... 接著系統會要求您輸入要匯入的專案位置,此時就要把你剛剛解壓所的 SDK 包 > SDK > java 之資料夾的位置放入... 加入後系統會自動幫您搜尋資料夾中早已存在的既有專案,並問你是否要更改其名... 接著就一路 Next 到 Finish 後,OpenCV 的函式庫就算匯入完成了,因此你會回到 Project Structure 的畫面,而現在要換成點選 app (您的應用程式本身),並點選上排標籤中的 Dependencies... 在 Dependencies 的畫面中,點選右邊的綠色小加號 > Module dependency,並選擇剛剛匯入的函式庫後按下OK... 到這邊,OpenCV 的環境就算在這個專案中架設完成囉! 感謝各位讀者!

OpenCV on Android 開發筆記:利用 Contour (輪廓) 取得 Moments 並找出質心

在找質心之前,首先必須先找到目標物的 Contour (輪廓)! "輪廓" 是個非常方便的東西,這個我們之後會在別的章節介紹。 再找到 Contour 後,Contour 會存為一個類別為 MatOfPoint 的物件,而此時就可以利用 Imgproc 中的一個 static 函式: moments 來幫我們找出該 Contour 的 moments。 Moments momemts = Imgproc.moments(contour, false); 其中的 false 筆者並不知道是甚麼意思,只是網路上有人這麼用自己就跟著這麼用了。 (對於 Moments 這個東西,筆者並不太熟,只知道如何應用 OpenCV 中的函式來取得 Moments,並利用他找出質心,而至於為甚麼可以利用 Moments 找出質心,就要請有心想要知道的讀者問問已經知到的讀者,或是自己上網找找看囉!也歡迎各位學會的讀者可以教教我,互相指導。) Imgproc 中的 moments 函式可以幫我們找出並取得該 Contour 的 Moments 物件,而在 Moments 中存放著一些成員變數(屬性),而在求質心的過程中,需要使用的屬性就是以下: momemts .m00 momemts .m01 momemts .m10  此處之應用為: 若想得知質心的X座標: m10 / m00 若想得知質心的Y座標: m01 / m00 Point center = new Point(moments.m10 / moments.m00, moments.m01 / moments.m00); 感謝各位讀者!

Android Studio 快捷鍵筆記

持續更新中... 快捷鍵 功能 Ctrl + p 函式的參數提示 Ctrl + 滑鼠左鍵(點選目標) 跳到該目標的定義 Ctrl + Alt + Space 編輯器輔助提示 (類似 Eclipse 的 Alt + /) Alt + 滑鼠滾輪按下(點選目標) 視窗提示定義內容 Alt + Enter (於錯誤或警告標記處) 錯誤或警告自動排除提示 Alt + Ctrl + L 自動格式化程式