2013年12月6日金曜日

[OpenCV] SURF的使用

SIFT 和 SURF 從 2.4 版之後,被移動到 nonfree 裡面。

所以使用時必須加入下面的程式碼。

#include <opencv2/nonfree/nonfree.hpp>

#pragma comment(lib, "opencv_nonfree247d.lib")

#pragma comment(lib, "opencv_nonfree247.lib")


使用前須初始化

cv::initModule_nonfree();


2013年12月4日水曜日

2013年12月3日火曜日

[OpenCV] cv::Mat 與 IplImage 的轉換


cv::Mat → IplImage
IplImage *iplImage = cvLoadImage(imageFile, 1);

cv::Mat matImage(iplImage);


IplImage → cv::Mat
cv::Mat matImage(cv::Size(width, height), CV_8UC3);

IplImage *iplImage = cvCreateImage(cvSize(width, height), 8, 3);

iplImage = &matImage.operator IplImage();


[OpenGL] Windows 8.1 64bit 下的 OpenGL 於 Visual Studio 2012 的開發環境配置

跟 windows 7 的配置是一樣的。

這裡下載 glut-3.7.6-bin.zip。

解壓縮後將檔案如下方動作放至各資料夾中。

glut.h → C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\GL

glut.lib → C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib

glut32.dll → C:\Windows\SysWOW64


source file 中加入

#include <GL/gult.h>


應該就可以用了。

-----

另外是 freeglut的配置

這裡下載 freeglut 2.8.1 MSVC Package

配置方法同上方的OpenGL。


=====

troubleshoot

0xc000007b

The application was unable to start correctly (0xc000007b). Click OK to close the application.

檢查配置的 dll 是否正確。

32bit 的應用程式需對應 32bit 的 dll 檔,

64bit 的應用程式需對應 64bit 的 dll 檔。

但從下載來的freeglut中配置時出現錯誤的解法卻是將 32bit 的 dll 放入 64bit 的資料夾。

2013年11月19日火曜日

[OpenCV] Windows 8.1 64bit 下的 OpenCV 2.4.7 用於 Visual Studio 2012 的開發環境配置


OpenCV在2.4.4版開始支援Visual Studio 2012,下面記錄環境配置的步驟。

配置方式有很多種,這邊只用最簡單的方式。

1.  從這裡下載 Windows 版的 OpenCV。

2.  執行 OpenCV-2.4.7.exe,將解壓縮路徑指到 C:\

3.  將 C:\ 下的 opencv 變更名稱為 opencv247

4.  開發專案 x64 --> 在系統環境變數 Path 中增加 C:\opencv247\build\x64\vc11\bin;

    開發專案 win32 --> 在系統環境變數 Path 中增加 C:\opencv247\build\x86\vc11\bin;

5.  開發專案 x64 -->
     在 C:\Users\使用者名\AppData\Local\Microsoft\MSBuild\v4.0\ 資料夾下的 Microsoft.Cpp.x64.user.props 中增加下面的敘述


  <PropertyGroup>
    <IncludePath>$(IncludePath);C:\opencv247\build\include</IncludePath>
  </PropertyGroup>
  <PropertyGroup>
    <LibraryPath>$(LibraryPath);C:\opencv247\build\x64\vc11\lib</LibraryPath>
  </PropertyGroup>

    開發專案 win32 -->
     在 C:\Users\使用者名\AppData\Local\Microsoft\MSBuild\v4.0\ 資料夾下的 Microsoft.Cpp.win32.user.props 中增加下面的敘述


  <PropertyGroup>
    <IncludePath>$(IncludePath);C:\opencv247\build\include</IncludePath>
  </PropertyGroup>
  <PropertyGroup>
    <LibraryPath>$(LibraryPath);C:\opencv247\build\x86\vc11\lib</LibraryPath>
  </PropertyGroup>

加完後,看起來會像下圖一樣



















6. 在 Visual Studio 2012中新增一個C++的空專案加入下面的程式碼做測試

#include <opencv2\opencv.hpp>

#ifdef _DEBUG
#pragma comment(lib,"opencv_imgproc247d.lib")
#pragma comment(lib,"opencv_core247d.lib")
#pragma comment(lib,"opencv_highgui247d.lib")
#pragma comment(lib,"opencv_calib3d247d.lib")
#else
#pragma comment(lib,"opencv_imgproc247.lib")
#pragma comment(lib,"opencv_core247.lib")
#pragma comment(lib,"opencv_highgui247.lib")
#pragma comment(lib,"opencv_calib3d247.lib")
#endif

int main()
{
  cv::Mat img = cv::imread("圖片路徑");
  cv::imshow("test", img);
  cv::waitKey(0);
  return 0;
}


沒意外的話應該這樣就完成了(*・ω・)ノ

2013年11月18日月曜日

[開箱] Panasonic Let's note AX3

今天寫筆電開箱文...(*^▽^*)

想說來嘗試一下不同的筆電,所以就選了PANASONIC AX3

就是↓這台


印象中,台灣好像也有代理,所以應該可以買的到公司貨。

不過好像還停留在上一代的AX2就是了...


終於在10月底跟Panasonic Let's note專賣店下訂了一台

然後過了兩個禮拜終於收到了ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ

↑包裝被我拆得亂七八糟的說ww


↑然後就是開箱啦~~

很久沒寫開箱了,突然不知道要寫什麼..._| ̄|○


↑箱子裡的所有東西...比想像中的還多耶(゚д゚)!

↑本體其實比想像中還小...Σ(´∀`;)


↑三張說彩色的說明書

↑其實看起來跟一般的筆電沒什麼太大的差別...



↑右邊是一堆貼紙,左邊是只有型號


↑相對來說很大的觸控板...


↑左邊的IO,電源、網路線、D-SUB、SD、麥克風、耳機、無線開關


↑右邊的IO,防盜孔、HDMI、USB×2


↑螢幕上方的windows按鈕...感覺有點多餘@@?


↑看起來是日本製的


↑裡面附了兩顆一模一樣的電池


↑好像是開機中換電池要用的工具


↑兩顆充電器,一個原廠附的,一個加買的。


↑原廠的是大陸製的,加購的好像是印尼製的?


↑同捆的微型投影機,好像很貴的樣子...((((;゚Д゚))))


↑指示燈


↑然後就是開機啦~~ヽ(=´▽`=)ノ


↑插上不是原廠的充電器會跳出提示耶(゚д゚)!


然後跳跳跳...


↑看起來不怎麼高級的硬體(´・ω・`)

原廠的規格表

↑規格表


============================分隔線=============================



當初買這台花了好久的時間考慮...

其實本來不是要買這台...

本來應該是要買SX3的說






















↑Let's note SX3


不過考慮了許多因素,最後還是買了AX3(*´▽`*)

老實說,其實就實際使用需求上來說,SX3應該會比較好才對...

但是因為AX3有Full HD,所以最後還是選擇了它(/・ω・)/


用了一個禮拜後...

嗯...好像有點糟耶...( ´・ω・)

這台電腦買來就是要當程式開發用的...

結果一些基本程式裝一裝,大概就只剩下 40G 的空間了(@_@;)

而且這台還不能自行更換硬碟跟記憶體...

換了就失去保固了..._| ̄|○

不換好像也不太好(´・ω・`)?

想說外接個隨身碟應該就可以解決問題...

果然...

這事情真的沒有那麼簡單..._| ̄|○

想說要很快很快的速度,所以買了一隻高速隨身碟

就是他↓↓↓


















↑Kingston Digital HyperX 3.0 DataTraveler 128G


然後悲劇就發生了...

這台AX3的USB孔竟然供電不足(*_*;

沒辦法了...

只好再買一個擴充(´・ω・`)



















↑i-rocks IR4700G

然後,硬碟的空間問題就解決了(^○^)

但又多了個新問題...

這筆電主打不就是不用帶插頭的嗎...-.-

現在又多了一個插頭,一整個就沒意義了呀~~~_| ̄|○


還有那大的誇張的觸控板



↑看不出實際大小的廣告


所以找來了iPod Touch 5做比較

突然覺得iPT變小了...Σ(・ω・ノ)ノ!





















↑iPod Touch 5跟觸控板

再找一隻大一點的來比看看好了...

DOCOMO 的 SH-01D





















↑SH-01D跟觸控板

最後...4.5吋的螢幕果然比較大(*^▽^*)

是說,自從換了上一台筆電 TP X220 之後就再也沒有用過觸控板了...

現在覺得沒有小紅點好不適應唷(´・ω・`)

不過觸控板做這麼大,敲鍵盤的時候真的很容易碰到耶(;゚Д゚)


說到鍵盤...





















↑鍵盤

這按鍵感覺有點小,正規鍵盤的鍵距應該要有19.05 mm(3/4 inch)

這台的鍵盤,看規格好像只有18 mm,還不含右邊被縮小的按鍵

右邊被縮小的按鍵大約只有12 mm左右

不過這不是最大的問題...

最大的問題,應該是編輯鍵區!!





















↑編輯鍵

寫程式很常用到的 Home / End / Page Up / Page Down 都變成功能鍵了...(´・ω・`)

Thinkpad x220 的7列式鍵盤還是比較好用呀~~























↑x220鍵盤






















↑AX3和x220


話說回來,這台本來就不是主打鍵盤的呀ww

不過 windwos 8.1 加上觸控螢幕,其實有時候還意外的挺方便的說(≧▽≦)

多點觸控的Full HD螢幕(*^▽^*)


然後是電池...

Panasonic的筆電其中很重要的技能之一!!

看官方資料說 4 cell + 2cell 可用 13 個小時(;゚Д゚)









目前測試的結果

開niconico聽音樂 + 上網找資料寫報告跟寫程式,可以超過 6個小時...\(◎o◎)/!

印象中,用過的筆電裡,能超過6個小時的筆電就只有小筆電...

↑Acer aspire one D270

雖然說這Acer小筆電也可以用到10小時以上

但效能根本悲劇...

有三分之一的時間都在看游標轉圈圈...(@_@;)

不過突然意識到,AX3好像也是台小筆電耶...

而且不知道為什麼Intel第四代的行動處理器,幾乎都省電走向...

雖然效能上沒什麼太大的問題就是了XD

不過散熱真的...很好?

全速運作的時候,散熱孔超燙的...(゚Д゚;)

可是鍵盤挺涼的說XD


最後就是疊疊樂啦~


↑從上面看好像看不出差別...


↑正面看起來也差不多...


↑側面看起來就差很多了(≧▽≦)


如果這台筆電拿來做商務用途的話應該算是很完美的一台電腦了(≧▽≦)
只是我把它拿來當開發用好像有點不太對...OTL

嗯?...我很喜歡這台呀(´・ω・`)?
雖然抱怨了很多地方,不過只要習慣了就沒有問題啦(*´▽`*)


不管如何...AX3ちゃんよろしくね(*´▽`*)