Just My Life & My Work

Archive for the ‘教學’ Category

[DOS] 列出檔案名稱 (List File Name)

寫程式有時候需要知道檔案名稱,以便讀檔,若檔案數有上百或上千個,逐一key in似乎不太實際,除非很喜歡打字或是想練習打字,否則都會像我一樣用偷懶的方式,事先列出檔案名稱,接著稍微修改就可以使用!

(繼續閱讀…)

[OpenCV] 轉換影像為灰階 (Transform Image to Gray Level)

從前有空沒事就在用影像處理軟體,很方便且輕易地按了「灰階」這個功能,軟體馬上就將影像轉換為灰階,因此會直覺以為轉換過程很簡單,直至今日,自己用OpenCV來實驗,才發覺有些細節,跟我們人的眼睛有關係。

廣告

剛好也可以來練習如何取得影像中像素RGB的值,知道這一點之後,即可拿RGB的值來做更進一步的運算,像是調整亮度、對比、r值、色相、彩度、明亮度,甚至透過統計來風格化。

很直覺地猜想,彩色轉灰接的過程應該是灰階=(紅+綠+藍)/3,其實不然。實際上人眼對綠色的亮度感最大,而對藍色最小,於是Gray = 0.299 * Red + 0.587 * Green + 0.114 * Blue才能得到比較適合人類眼睛的灰階影像,久而久之已成為影像處理界所用來彩色轉灰階的標準。

廣告
(繼續閱讀…)

[C++] 批次開檔~同名格式 (Open File whth similar name format (Batch))

對於要處理同樣的資料,我喜歡批次處理,這樣子可以節省不少時間,而這些資料可能分散在許多檔案之中,那麼批次開檔(無論輸入或輸出)就顯得相當重要!

(繼續閱讀…)

[C++] 開啟檔案和讀取檔案 (Open File and Read File)

接續剛才寫的開啟檔案和寫入檔案,這次換寫開啟檔案讀取檔案的程式,依然很簡單,只是稍有差別。

(繼續閱讀…)

[C++] 開啟檔案和寫入檔案 (Open File and Write File)

現在寫大一點的程式,輸入或輸出資料量大的時候,我們不太想花時間去處理IO,尤其是在批次處理的情況下,不斷地重複同樣的動作,不但浪費時間又會很無聊,於是把想要輸入的資料先存入檔案,再由程式來讀取檔案,接著若有輸出的資料,則程式開啟檔案寫入檔案,待所有工作執行完畢,再去檔案查詢結果。

廣告

現在年紀大了,一陣子沒有寫開檔讀檔的程式,就會忘了怎麼寫@@;於是乎先寫起來,等哪天要用卻忘記的時候,再來這邊搜尋:)

(繼續閱讀…)

[OpenCV] 批次縮放影像 (Resize Image (Batch))

現在使用數位相機拍照尋常可見,影像畫素不斷提高,越來越適合沖洗大張相片,然而有些人會把數位相片上傳到網路空間來分享給親朋好友,在網路空間不大以及網路傳輸速度不快的情況之下,我們就需要縮放影像,將大張影像縮小至適合螢幕大小即可省時間省空間

(繼續閱讀…)

[OpenCV] 縮放影像 (Resize Image)

由於多媒體期末專案需要,我必須先做原始影像大小的判別,若長或寬超過1000像素的話,就將影像等比例縮小到1000像素以下,這麼做比用影像處理軟體縮放影像還要方便呢!畢竟要處理500張相片可不是鬧著玩的:P

(繼續閱讀…)

[C++] PPM影像檔輸出 (PPM image format output)

電腦圖學的人無不喜歡輸出的結果是一張圖,而不僅僅是文字!因此用C++來寫影像「Hello World」程式,是件基本且相當有趣的事情。

(繼續閱讀…)

[OpenCV] 批次轉換影像類型 (Transform Image Type (Batch))

昨天已經寫過轉換影像類型這一篇網誌,然而那只能一個檔一個檔慢慢轉換,如今我有成千上萬張相片,想要一次搞定資料夾內所有的影像檔,該怎麼做呢?

(繼續閱讀…)

[DOS] 批次處理 (Batch Processing)

在做多媒體實驗時,使用SIFT來跑511張相片,除了影像名稱不一樣之外,其餘的操作如出一轍,故若用人工來改挺花時間,於是我使用了DOS來批次處理

(繼續閱讀…)

標籤雲