s1093336 作業1 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 - 3月 16, 2023 一、作業說明撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。 二、開發環境OS: Windows 11 64bitEditor: Visual Studio 2019Language: C++Package: OpenCV-4.5.0 三、程式功能執行方式直接執行本程式執行設定選擇旋轉模式Normal Rotate Mode:整張圖像旋轉Circle Rotate Mode:僅中心內切圓區域圖像旋轉選擇模式調整旋轉角度拖曳上方Trackbar調整選轉的角度透過Trackbar控制圖像旋轉的角度結束程式按下任意按鍵離開程式時。 四、實作過程整張圖像旋轉利用圖像長寬,分別除2取得圖像中心點位置。使用getRotationMatrix2D函式取得旋轉的矩陣。使用warpAffine函式對原圖進行旋轉。執行成果示意圖主要程式中心內切圓區域旋轉利用圖像長寬,分別除2取得圖像中心點位置。利用圖像長寬較短者作為內切圓直徑,並除2取得半徑長度。畫出外部圖像遮罩。畫圓程式畫出的遮罩將遮罩與原圖像進行bitwise_and取得下圖。結果將步驟三的遮罩進行,XOR使黑白反過來,作為旋轉中心圓的遮罩。畫出的遮罩將遮罩與旋轉後的圖像進行bitwise_and取得下圖。結果將步驟四與步驟六的結果進行add疊加。就可以達成完整成果。完整結果五、Demo 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
s1091429 Homework #5 - 5月 15, 2024 1122 Digital Image Processing Assignment #5 報告 學號 :s1091429 姓名 :宋政哲 主題: Run-Length Based Image Compression 影像壓縮練習 專案目標: 附件中為三張利用將晶片高度以色彩視覺化後的圖片。請設計一個基於Run-Length的 壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。 應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率 開發環境: Microsoft Windows 10, Visual Studio Code, python, opencv-python==4.9.0.80 程式架構與功能說明: 讀取原始 BMP 圖像 分割成 RGB 通道 對每個通道進行壓縮 輸出壓縮率 將數據decode,保存產生的圖片 成果展示與討論: 閱讀完整內容
s1101421 Homework #7 - 6月 15, 2024 1122 Digital Image Processing Assignment #7 報告 學號: s1101421 姓名:陳昱翔 程式碼連結 : https://drive.google.com/drive/folders/1FZahmkDXK_8cfWq7fFErObf8f45y9mou?usp=sharing 主題 : Image Segmentation and Object Detection 影像分割及物件偵測 專案目標: 撰寫一個程式來偵測出附件 2 張視訊照片中的所有書桌的桌面區域。 (1) 標示出每張桌子的桌面的矩形邊界框 (Bounding box) (2) 標示出偵測到桌子的桌角 開發平台: Microsoft Windows 11, Visual Studio Code, OpenCV 4.90, Python 功能說明: 1. 執行程式碼後可以處理輸入的圖片。 2. 輸出成果 : 程式架構 : 先將 RGB 圖像轉換為 HSV 色彩空間後過濾圖像中落在指定顏色範圍內的像素。使用形態學膨脹增強檢測到的區域然後將遮罩應用於原始圖像來提取需要的區域,將圖片轉為灰度圖後在灰度圖像中檢測邊緣。使用高斯模糊減少邊緣圖像中的噪聲。最後會去尋找輪廓並匯出圖片。 閱讀完整內容
1061549 作業2 - 6月 07, 2023 1112 Digital Image Processing Assignment #2 主題 : 線條自畫像 ( 二值化與邊緣偵測 Image Thresholding and Edge Detection) 撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a) 利用 Sobel Operators 偵測並輸出邊緣成分圖 (b) 設計一個類似素描線條的自畫像圖案。 ( 想想:如何使用邊緣偵測所得到的點,結合 成看似素描筆畫出的線條 ?) 開發環境 : Windows 10 Visual Studio 2022 C++ OpenCV-4.7.0 程式說明 : string image_path = "fig.jpg"; Mat src = imread(image_path, IMREAD_COLOR); 讀取圖像,並將其存儲在 src 變量中。 Mat gray_image; cvtColor(src, gray_image, COLOR_BGR2GRAY); 使用 cvtColor 函數將原始彩色圖像轉換為灰度圖像, src 是原始彩色圖像, gray_image 是轉換後的灰度圖像。 COLOR_BGR2GRAY 是一個標誌,將圖像從 BGR 顏色轉換為灰度顏色。 Mat sobel_x, sobel_y; int ksize = 3; Sobel(gray_image, sobel_x, CV_32F, 1, 0, ksize); Sobel(gray_image, sobel_y, CV_32F, 0, 1, ksize); 使用 Sobel 來分別計算圖像的水平和垂直邊緣,並將結果存儲在 sobel_x 和 sobel_y Mat magnitude, angle; cartToPolar(sobel_x, sobel_y, magn... 閱讀完整內容
留言
張貼留言