發表文章

目前顯示的是有「112hw1」標籤的文章

rzwang Homework #1

圖片
  主題 : 圖像感興趣區域裁切、旋轉與縮放 以網頁要在一個 600×400 像素區域顯示一張元智大學無限延伸景點介紹圖片,而手機拍攝照片大小為 4032×3024 像素的張照片為例。程式希望讓不同使用者根據自己需求從照片選取涵蓋無限延伸藝術裝置區域 ( 如紅色方框或黃色方框 ) 並縮放成 320×200 像素的圖片輸出存成一個新的檔案 成果展示與討論: 使用者在 console 輸入圖片 (yzu.png 大小 4032×3024) 與目標圖片大小 (600×400) 後,顯示 preview window 與 select window ,利用 trackbar 調整 Zoom, Rotate, iniX, iniY 等參數,可以從 select window 中看到選取的圖像區域。     執行範例 1. 使用 preview window 的 zoom, iniX, iniY trackbar 調整選取矩形區域,利用 saveFile 存檔,得到目標 600×400 輸出圖像 crop.jpg 。                                                            執行範例 2. 使用 preview window 的 Zoom, iniX, iniY, trackbar 調整選取矩形區域,利用 saveFile 存檔,得到目標 600×400 輸出圖像 crop.jpg 。     執行範例 3. 使用 preview window 的 Zoom, Rota...

s1083317 作業1

圖片
一、題目 : 圖像旋轉 (Image Rotation) 撰寫一個程式將一張圖像的 (a) 整張圖像 (b) 中心內切圓區域,旋轉一個角度 ( 逆時針旋 轉 0 度至 359 度 ) :利用一個滑動條 (trackbar) 控制旋轉角度。 二、環境 : Windows 10 Visual Studio 2019( 語言 python) OpenCV 4.5.5.62 三、程式碼  : 上圖為基本的初始化程式片段,只是 建立具有拉條的視窗後,執行 justPrint function          上圖為 justPrint function 的部份程式碼片段,主要是在建立 mask 首先先建立一張全黑畫布 ( 與 img 同高同寬的 0 矩陣 ) 並在中間畫一個白色的圓 (RGB 為 (255,255,255)) 即可以簡單建立一個 mask ,其矩陣數值如下示意圖所示 之後再利用 bit and mask 、 bit and ~mask 分別建立 img3 跟 img4 Img3: Img4: 最後在融合兩張圖並旋轉內部的圓就完成了 四、結果圖片 :

s1093302, 112hw1

圖片
 一、作業說明      撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。 二、作業環境 Windows 10 Spyder 5.1.5 Python 3.8.5 OpenCV 4.6.0 三、實作過程     執行程式後便可透過trackbar來決定旋轉的角度,壓住space按鍵即可只顯示中心內切圓,比較有瑕疵的部分是並沒有把其他的背景弄出來,所以中心內切圓的部分只能算是半成品。     簡單說明一下內容跟操作 cv2.namedWindow()創建一個頁面 cv2.createTrackbar()以上面創造的頁面為基底設置trackbar cv2.getRotationMatrix2D()創造旋轉矩陣 cv2.warpAffine()結合圖片、矩陣、寬跟高後做成會轉動的圖片 cv2.imshow()在頁面show出指定的圖片 cv2.destroyAllWindows()結束這個頁面 圖一、最一開始的狀態 圖二、選轉的狀態 圖三、壓住空白後限定顯示的狀態

s1091506 作業1

圖片
  功能: (1)將一張圖像的整張圖像,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。 (2)將一張圖像中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。 開發環境: Windows 11 + Python 3.10 + OpenCV 4.7.0 執行結果: 程式介紹: 讀取圖片,新建視窗以及Tracker。 從Tracker拿值,以中心點為轉軸旋轉。 從Tracker拿值,把挖掉圓型的圖存到outSide,建立圓形遮罩(只能顯示中間圓形圖案),最後將其合併,以中心點為主軸旋轉,且只能看見內切圓旋轉。 圖outSide

s1083504 作業一

圖片
  主題 圖像旋轉   撰寫一個程式將一張圖像的  (a)整張圖像 (b)中心內切圓區域旋轉一個角度(逆時針旋轉0度至359度) :利用滑動條(trackbar)控制旋轉角度。 開發環境 OS: Windows 11 Editor: Visual Studio 2022 Language: C++ Package: OpenCV - 4.7.0 程式片段 (a)整張圖像旋轉 (on_trackbar()) (b)中心內切圓區域旋轉一個角度(逆時針旋轉0度至359度)(onTrackbar()) 利用圓形遮罩(mask)來完成 程式執行結果影片 (a)整張圖像旋轉 https://youtu.be/Pf1Ligzyfdg (b)中心內切圓區域 https://youtu.be/_a3-YV9h0ro

s1081410 作業1

圖片
 圖像旋轉:對整張圖片旋轉 用num表示傳入數字並且將img rorate之後的Mat存入rotated 之後imshow 圖像旋轉:內切圓旋轉 建立一個mask 內切圓部分為白色 其餘黑色 接著對mask旋轉 保存到masked儲存 最後合成masked及原圖 然後將旋轉的部分加入到原圖的複製