顯示具有 1043321 標籤的文章。 顯示所有文章
顯示具有 1043321 標籤的文章。 顯示所有文章

2019年5月12日 星期日

s1043321的作業三

一、作業要求

撰寫一個程式,讀取一張256色灰階圖像。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。

二. 使用環境

windows10
Visual Studio 2017
opencv 3.4.1

三. 實作方法


1. 用 openCV dft() 函式得到傅立葉轉換後的結果
2.利用copyMakeBorder()來擴充邊界
3. 將實數部分與虛數部分拆開後相除做 actan 得到 phase angle
4. 用 magnitude 函式得到 magnitude spectrum

四. 實作結果

原圖
phase
spectrum

2019年4月2日 星期二

s1043321的作業二

一、作業要求

邊緣偵測與製作線條自畫像 Edge Detection Contour Drawing
撰寫一個程式,讀取一張256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I或Y處理,再轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)


二. 使用環境

windows10、Visual Studio 2017、opencv 3.4.1


三. 實作方法

1. 將讀入的灰階影像做高斯模糊 GaussianBlur
2. 接著用Sobel做邊緣檢測,Gx用來檢測水平邊緣,Gy用來檢測垂直邊緣
3. 用 addWeighted 以水平檢測0.5的比重,垂直檢測0.5的比重,得出加重後的結果
4. 接著將原圖做去色
5. 將去色後的圖反色
6. 將反色後的圖做高斯模糊
7. 利用減淡公式,將圖像疊加,並將顏色減色


四. 實作結果
原圖
做完sobel然後疊加之後
做完減色並疊加後

2019年3月19日 星期二

1043321 作業1

一. 作業簡介

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值v(-255~255),並將圖像儲存至一個新圖像檔案中。


二. 使用環境

windows10、Visual Studio 2017、opencv 3.4.1


三. 實做原理

利用imread讀完檔後,利用changePixel這個function將輸入要調整的亮度值用for迴圈修改。


四. 執行結果



首先輸入檔名或路徑,錯誤能重輸一次,接著輸入亮度,負值為調暗,正值為調亮。


接著便會出現原圖及修改後的圖。


也會將修改後的圖存為changed.jpg在專案資料夾中。