作業說明:
主題: 圖像旋轉 (Image Rotation)
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋
轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
主題: 圖像旋轉 (Image Rotation)
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋
轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
作業說明:
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
開發環境:
執行Assignment2.py後輸入讀取圖片的路徑(記得要加副檔名)
執行結果:
開發環境:
Windows10
Visual studio 2022
Opencv-4.5.0
C++
作業說明:
用trackbar滑動控制圖片的旋轉角度,選擇旋轉
整張圖或是中心內切圓區域,旋轉角度0到359度。
實作方法:
先輸入a或b選擇要旋轉整張圖還是內切圓區域,
如果是a就直接create一個trackbar,初始值是0最多拉
到359,b的話則把原圖切割成兩個部分,然後旋轉內
切圓的部分,trackbar控制旋轉角度後再線性混合兩個
部分。
執行結果:
模式a
原圖:
整張圖逆時鐘旋轉:
撰寫一個程式,將一張圖像的整張圖像、中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度),且能利用滑動條(trackbar) 控制圖片的旋轉角度。
使用環境/語言:
作業說明:
輸入一張圖像
將圖像的中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度)
利用一個滑動條(trackbar)控制旋轉角度
使用環境/語言:
Windows11
Visual
Studio 2019
Opencv-4.1.0
C++
實作方法(執行步驟):
1.
輸入圖片路徑後imread()讀入圖片
2.
Mat.empty()判斷圖片是否存在
3.
若圖片不存在或發生例外時輸出錯誤訊息並結束程式
4. 判斷每個點離圖像中心的距離 找到原圖的最大內切圓範圍
5. 將內切圓內外分別映射到另外兩個圖中
6. 調整trackbar時 將只有內切圓的圖旋轉 映射到只有外圍的圖的中心
7. 顯示出兩張圖疊合後的樣子
實作結果:
輸入0度 :
輸入142度 :
參考資料:
https://blog.csdn.net/xingchenbingbuyu/article/details/50719569
一、 作業說明
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
二、
作業環境
Windows 10、OpenCV 4.5.5、Visual
Studio 2017
三、 實作方法、執行結果
1.將input的圖片放入專案資料夾內,編譯程式後,輸入圖片名稱,如:XXXX.jpg。如檔案位置錯誤或名稱錯誤會跳出訊息,並且結束程式。
2.成功之後會跳出圖片,上方會有滑動條,可以調整角度,預設為零度,可以從0~360度,並及時出現在畫面中。
程式實作原理:
(1)首先,要先針對原圖進行分割處理,切出一個內切圓的圖、還有一個外框。
(2)分割的原理,先創兩個空白Mat物件,然後在原始圖片上切出一個圓圈,程式尋訪每個點,然後判斷該點是不是在圈內,如果是就將該點的資料複製到其中一張圖上,反之依然,圈外就複製到另外一張圖上,最後切出來的結果如下所示。
(3)我們再將只有圓的圖型,利用getRotationMatrix2D()、warpAffine()進行旋轉的動作。
(4)最後,再利用分割的尋訪模式,將旋轉過後的圖,重新映射回只有外框的圖上。
(5)加上拉條,完成。
作業說明:
撰寫一個程式讀取ㄧ張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入
圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變
每個像素的 R 值。
開發環境:
Windows11
Opencv 4.5.5
Python 3.10.2
實作方法:
1. 在輸入照片的網址並把照片存進資料夾後用imread()讀取
2. 用判斷式判斷照片是灰階圖或是彩色圖
3. 輸入要加上的像素值
4. 如果是彩色圖就把R值加上輸入的像素值,而如果是灰階圖就每個點都加上
5. 顯示最終結果
實作成果:
作業說明:
使用者將圖片的位置以及其所要更動的量輸入進去,並且將圖像中美一點的像素之值加上剛輸入的數值。如果讀取的圖像為灰階,則對該圖像的所有像素的灰階值進行更動,若是該圖像為彩色RGB圖像,則只更改其R值的部分。
開發環境:
Windows 11
Visual Studio 2019
OpenCV 4.5.5
程式說明
.1將所要讀取的圖片名稱以及所需要更改的值輸入
2.利用imread讀取圖片,若是失敗則output出錯誤訊息
3.另用判斷式來判斷該圖片為彩色或是灰階
4.利用迴圈來改變其值,若是灰階則將其全部更改,RGB則更動其R值
5.顯示出最終結果
執行結果
作業說明
使用者輸入圖片的位置與要更動的量,讀取圖片將圖像中每一個點像素的值各加上剛輸入的數值。如果輸入圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像RGB則只改變每個像素的R值。