s1093336 作業2 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 - 3月 23, 2023 一、作業說明撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators 偵測並輸出邊緣成分圖 (b)設計一個類似素描線條的自畫像圖案。(想想:如何使用邊緣偵測所得到的點,結合 成看似素描筆畫出的線條?) 二、開發環境OS: Windows 11 64bitEditor: Visual Studio 2019Language: C++Package: OpenCV-4.5.0 三、程式功能執行方式直接執行本程式執行設定查看執行結果gradXY視窗為Sobel X與Sobel Y直接歷遍進行灰階值的疊加結果。Pencil視窗為gradXY經過模擬素描後的結果。PencilgradXY 四、實作過程整張圖像進行高斯濾波後轉化為灰階。高斯濾波灰階利用Sobel Operator計算X梯度與Y梯度。X梯度Y梯度歷遍X與Y梯度圖,將灰階值進行相加生成新的圖像。歷遍疊加後產生的新圖,將灰階值30以下的轉換為255,並對其他的做abs(255-當前值),並對處理後值處於20以下的進行修正到160。 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
s1093350 Homework #2 - 3月 27, 2024 1122 Digital Image Processing Assignment #2 報告 學號: s1093350 姓名: 楊宜芳 主題: 邊緣偵測與圖像二值化 問題與專案解決目標: 撰寫一個程式,將彩色照片快速生成黑白輪廓線條圖案。 開發環境: Microsoft Windows 11, Visual Studio Code 1.87.1, OpenCV 4.90, Python 3.8.13 程式架構與功能說明: 1. 讓使用者 在 Conslole 輸入原始圖片的檔案名稱(包含副檔名),並讀取圖片。範例如下,藍色部分為使用者自行輸入: § input image filename: yzu1.jpg 程式碼及註解如下圖。 2. 使用 cv2.cvtColor() 函式將圖片從彩色轉為灰階,接著用 cv2.GaussianBlur() 函式對圖片做高斯模糊,再使用 cv2.Canny() 函式對圖片做邊緣偵測,最後將處理好的圖片儲存到 output 資料夾。若讀取圖片失敗,則印出「 Please try again. 」。程式碼及註解如下圖。 使用函式說明: § cv2.cvtColor (img, cv2.COLOR_BGR2GRAY ) cv2.cvtColor() 可用來轉換影像的色彩。第一個參數為原始圖片,第二個參數為要轉換的色彩空間。 cv2.COLOR_BGR2GRAY 為 RGB 轉灰階。 § cv2.GaussianBlur(img_gray, (5, 5), 0) cv2.GaussianBlur() 可使用高斯分佈來進行模糊化。第一個參數為原始圖片,第二個參數為 kernel 大小(須為正奇數), kernel 越大,模糊效果越明顯。第三個參數為標準差,設為 0 。 § cv2.Canny(img_blur, 120, 225) cv2.Canny() 可用來做邊緣偵測。第一個參數為原始圖片,第二、三個參數為閾值,範圍可設為 0 - 255 。若像素的... 閱讀完整內容
s1091514 hw4 - 5月 04, 2023 1. 讀取影像 讀取了一個名為 "image4.png" 的影像,並將它轉換成灰階影像。 2. 傅立葉轉換 對讀取的灰階影像進行傅立葉轉換,得到頻率域的複數值,並進行中心化。 3. 計算幅值和相位譜 從傅立葉轉換後得到的複數值中分離出幅值和相位譜。 4. 將幅值和相位譜映射到灰階圖像 將幅值和相位譜轉換為灰階圖像,以便於後續的展示。 5. 創建遮罩( mask ) 創建一個與原始影像大小相同的全白色遮罩,並使用 rectangle() 和 circle() 函数,在遮罩上設置需要保留的頻率信息。 6. 將遮罩應用到幅值譜上 將遮罩應用到幅值譜上,過濾掉需要去除的噪聲。 7. 反傅立葉轉換 將應用遮罩後的頻率域複數值進行反傅立葉轉換,得到去除噪聲後的影像。 原圖 完成圖 閱讀完整內容
s1091537 Homework #1 - 3月 10, 2024 1122 Digital Image Processing Assignment #1 報告 學號: s1091537 姓名:蔡佾家 主題:圖像感興趣區域裁切、旋轉與縮放 專案目標: 使用者在輸入圖片檔名與目標矩形的大小後,會彈出一個 符合使用者螢幕大小 的視窗顯示圖片,目的是避免原始圖片過大或太小,使其能 兼容任意大小的圖片 。接著,使用者可以透過 拖拉方式 直接在 圖片上圈選出一個 與目標矩形比例相同 的感興趣區域,並且透過預覽視窗確認效果、儲存圖片。此外,也可以透過拉桿對圖片進行旋轉操作。 本專案遭遇最大的困難是 動態圈選感興趣區域的功能 。我根據可能的數種情況(剛開始拖拉、拖拉過程中、拖拉完成),讓程式顯示出相對應的圖片資訊:剛開始拖拉只顯示左上角的點、拖拉過程中根據比例不斷計算出矩形供使用者預覽、拖拉完成後維持不動同時跳出預覽視窗。透過良好的設計,最終程式能在流暢的運行下給予使用者良好的操作體驗。 開發平台: Microsoft Windows 11, Visual Studio Code, OpenCV 4.6.0, Python 3.7.9 程式架構與功能說明 : 首先,程式會要求使用者輸入圖片路徑和目標尺寸(高和寬)。接著,程式將圖片按比例縮放以適應預設的顯示尺寸,並提供旋轉功能讓使用者可以透過滑動條調整圖片的角度。 使用者可以使用滑鼠在圖片上點擊並拖動以選取一個矩形區域,程式會根據目標尺寸的比例自動調整選取框的大小。當使用者釋放滑鼠按鍵後,即選定區域,會跳出預覽視窗。 最後,使用者可以儲存調整後的圖片。程式將在指定的輸出路徑下儲存一個名為 "output.jpg" 的文件,其中包含了經過旋轉、裁切和尺寸調整後的圖片。 成果展示與討論 : 1. 先在終端機中輸入檔名與目標圖像的長寬,以600×400為例,輸入完成後會跳出GUI視窗。 2. 可使用拉桿旋轉圖片,以+18°為例。接著 圈選出感興趣區域(矩形強制與600×400等比例)。 3. 跳出預覽視窗並自動儲存為output.jpg。 閱讀完整內容
留言
張貼留言