Just My Life & My Work

Archive for the ‘OpenCV’ Category

[OpenCV] IplImage 和 Mat 互轉

OpenCV相關程式,我會使用兩種IDE,一是為了簡單方便用Dev C++,二是為了測試高竿程式用Visual C++。前者我通常用C來寫,後者則以C++來寫,更有時候會把兩者兜在一起。

就如同string 和 char[]互轉這篇文章一樣,時常需要將字串來回轉換,在OpenCV中處理對象為影像,有時也需要來回轉換,於是我想記錄一下:P

(繼續閱讀…)

廣告

[OpenCV] 播放影片 (Display Video)

由於專案需求,需要以程式來播放影片,希望能在高解析度下,還能流暢地播放影片~原本還以為OpenCV只有處理影像比較強,而處理影片則比較弱,其實不然,還是由自己親自實驗後,才知道只有跟影像有關的應用,OpenCV都有可能辦到!

OpenCV 播放影片 Display Video (1)

(繼續閱讀…)

[OpenCV] 產生色彩空間 (Create Color Space)

為了做研究,我必須製作整個色彩空間,想以RGB立體」的方式來產生,然而只能以「平面」的方式顯示在螢幕上,於是我寫了三維映射到二維的程式來實現~

產生色彩空間 Create Color Space

程式將會產生4096×4096PNG(無損壓縮格式)檔案(8.07MB),不過為了節省我寶貴的部落格空間,我將影像縮小並轉存為1024×1024JPG(有損壓縮格式)檔案(120KB)。有興趣的人就去跑我的程式來取得整個色彩空間圖吧:)~

(繼續閱讀…)

[OpenCV] 結構相似性 (Structural SIMilarity)

在瞭解結構相似性 (Structural SIMilarity)後,接下來就是驗證它的效果~我使用和峰值信號雜訊比 (Peak Signal to Noise Ratio)同樣的影像來示範。

landscape

(繼續閱讀…)

[OpenCV] 峰值信號雜訊比 (Peak Signal to Noise Ratio)

在瞭解峰值信號雜訊比 (Peak Signal to Noise Ratio)定義之後,接下來當然就來驗證它的威力~

在此我特地找了png檔(無損壓縮)的影像,用nEOiMAGING影像處理軟體,將它另存為jpg檔(有損壓縮)的影像,其中jpg又有分壓縮品質。用肉眼也許看不太出來其中的差異,然而卻很容易從檔案大小看出端倪,壓縮品質越差,檔案大小越小。

landscape

原始影像png:314KB

(繼續閱讀…)

[OpenCV] 轉換色彩空間失真 (Transform Color Space Distortion)

我以為透過OpenCV轉換色彩空間,可以很輕易地來回轉換,而且不會有失真的問題。然而後來我知道,轉換色彩空間會有計算上精準度的問題(小問題),除此之外我又發現一個更容易失真的問題(大問題),其實對程式設計師而言相當容易發現才是,也就是:轉換色彩空間一個函式儲存影像一個函式,後者失真程度遠大於前者!怎麼會這樣子呢?來看一下實驗結果……

(繼續閱讀…)

[OpenCV] 雙邊濾波器 (Bilateral Filter)

在了解雙邊濾波器 (Bilateral Filter)理論之後,來試驗程試跑出來的效果。比起其它影像模糊化 (Image Smoothing)的方法,雙邊濾波器執行時間較長模糊效果較佳!我所使用的筆電跑本程式每張圖約2.5分鐘

(繼續閱讀…)

標籤雲

%d 位部落客按了讚: