python旋轉圖片
1. 5 用python進行OpenCV實戰之圖像變換2(旋轉)
最近有些其他事情,一周未更新了,實在抱歉。以後爭取,每周多更新幾次。雖然也不知道能有多少人看到,但是也算自己的一種堅持吧!
旋轉的概念正如我們平常聽見的一樣:將圖片選裝x度。我們先通過多少度來旋轉圖片,然後我們將寫一個旋轉函數。
#1-9:
與前幾節一樣的操作,進行導包,然後顯示原始圖片,但是需要注意的是在第三行 import imutils,還記得它是什麼嗎?我們在上一節還詳細介紹過啊。忘記了,可以返回 上一節 看看。
#10-11:
在第10行中我們得到了圖像的寬和高,然後我們通過"//"將它們除以2取整來得到旋轉的中心。當然我們也可以不以中心為旋轉中心,這里為了方便。
#12:
正如我們定義一個矩陣來移動圖像一樣,我們還需要定義一個矩陣來旋轉圖像,然而不同的是我們不是通過NumPy來構造矩陣的,而是通過:
第一個參數:表示向以哪一點進行旋轉?這里就是圖像的中心
第二個參數:表示我們希望旋轉的角度。這里為正45度,表示順時針旋轉45度
第三個參數:表示圖像旋轉後的大小,這里設為1表示大小與原圖大小一致
#13-14:
通過cv2.warpAffine()方法,我們便可進行旋轉圖像的操作,第一個參數為原圖,第二個參數為旋轉矩陣,第三個參數為圖像(寬,高)的元組,然後將旋轉後的圖像顯示出來
#15-17:
採用同樣的方法將圖像逆時針旋轉90度,然後展示出來
#18-20:
在第18行我們使用了:imutils這個自己寫的庫,然後調用了rotate()方法。第一個參數是需要操作的圖像,第二個參數是要旋轉的度數。
在imutils.py中我們自定義rotate函數
#1-4:
我們的旋轉方法又四個參數,第一個是圖像,第二個是我們所希望旋轉的角度,我們還提供了兩個可選擇的變數:中心點和規模。中心點是我們希望我們的圖像圍繞哪一點旋轉?如果,沒有給它賦值,我們會默認將圖像的中心點賦值給它。規模大小我們默認為1.0,表示沒有任何大小的變化。
#5-7:
通過構造我們的旋轉矩陣,然後我們將旋轉後的結果返回。
2. 怎麼樣圖片旋轉
圖片旋轉的方法有多種,可以通過圖像處理軟體如Photoshop、GIMP等,也可以使用在線工具或編程實現。
詳細解釋:
1. 使用圖像處理軟體:
使用Photoshop或GIMP等專業的圖像處理軟體,可以輕松實現圖片旋轉。
* Photoshop:打開圖片後,選擇「圖像」菜單中的「旋轉畫布」選項,可以進行任意角度的旋轉。還可以選擇「裁剪」工具,先選定旋轉的中心點,然後調整旋轉角度。
* GIMP:操作方式與Photoshop類似,可以通過「變換」工具中的「旋轉」選項進行圖片旋轉。
2. 使用在線工具:
網路上有很多在線的圖片處理工具,其中也包括圖片旋轉功能。只需上傳圖片,選擇旋轉功能,然後進行角度調整,最後保存或下載旋轉後的圖片。
3. 使用編程實現:
如果你熟悉編程,可以使用Python的PIL庫或OpenCV等圖像處理庫來實現圖片旋轉。這些庫提供了豐富的圖像處理功能,可以輕松實現圖片的旋轉、縮放、裁剪等操作。
示例代碼:
python
from PIL import Image
img = Image.open # 打開圖片
img_rotated = img.rotate # 旋轉90度
img_rotated.save # 保存旋轉後的圖片
以上代碼可以實現圖片的90度旋轉。如果需要其他角度的旋轉或其他更復雜的操作,可以查閱相關文檔或教程。
總的來說,無論你選擇哪種方法,圖片旋轉都是一個相對簡單的操作。只需選擇合適的工具或方法,根據需求進行調整,就可以輕松實現圖片旋轉。
3. 如何用Python+Pygame旋轉圖像、灰度圖像
『』『
2013-7-4
by JavenLee
希望能帶給你啟發
'''
import Image
img = Image.open(『origin.png』) # 得到一個圖像的實例對象 img
rot_img = img.rotate(270) #順時針旋轉90度
rot_img.save("rot_img.jpg")
x_img=img.transpose(Image.FLIP_LEFT_RIGHT) #垂直翻轉
y_img=img.transpose(Image.FLIP_TOP_BOTTOM) #水平翻轉
new_imag=img.convert('L')
'''
模式
img.convert() 參數說明如下:
1 1位像素,黑和白,存成8位的像素
L 8位像素,黑白
P 8位像素,使用調色板映射到任何其他模式
RGB 3×8位像素,真彩
RGBA 4×8位像素,真彩+透明通道
CMYK 4×8位像素,顏色隔離
YCbCr 3×8位像素,彩色視頻格式
I 32位整型像素
F 32位浮點型像素
'''