圖像旋轉後的矩陣觀察-1 使用 PIL+scipy
圖像旋轉後的矩陣觀察
圖像旋轉後的矩陣觀察-1 使用 PIL+scipy
圖像旋轉後的矩陣觀察
在週末報告完論文時,老師提了一個問題,就是旋轉之後矩陣是不是變大了?變大了之後是不是導致了特徵的改變,所以感知雜湊的檢測的成功率就變低了。在自己實驗時,都是給定旋轉角度後直接去計算感知雜湊,最多就是把旋轉後的圖像顯示出來,沒有仔細的去觀察矩陣的變化。因此,我們來觀察圖像旋轉後的矩陣,並且思考變化後的矩陣如何影響感知雜湊。
首先我們先準備 Lena_Gray.tiff 的圖,如以下代碼
from PIL import Image, ImageOps
import numpy as np
from scipy import ndimage
img = Image.open(r”Lena_Gray.tiff”)
img = ImageOps.grayscale(img)
img.show()
## 顯示圖像
print(np.array(img).shape)
## (512, 512)
print(img)
## <PIL.Image.Image image mode=L size=512x512 at 0x255B176DAC0>
在以上代碼中,我們多做了灰階化,目的是專注於二維陣列,也就是矩陣的旋轉。然後把 img 及 shape 打印出來,以確定是我們所需要的。下圖是 Lena_Gray

接下來旋轉矩陣並且把 shape 打印出來
img_45 = ndimage.rotate(img, 45)
print(np.array(img_45).shape)
## (724, 724)
這裡我們會看到矩陣變成了(724,724), 旋轉圖像的顯示如下。

到這一步為止都很正常,符合我們的期待,先下本段的結論。圖像旋轉後,除了旋轉本會造成的特徵改變之外,對於因為旋轉造成矩陣變大而增加的數據,也可能增加特徵提取時的誤判。
而下一篇使用 OpenCV 則有點出乎我的意料之外了。
메타데이터
- post_id
- a291385b712c
- slug
- 圖像旋轉後的矩陣觀察-1-使用-pil-scipy-a291385b712c
- url
- https://medium.com/@andyhuang76/%E5%9C%96%E5%83%8F%E6%97%8B%E8%BD%89%E5%BE%8C%E7%9A%84%E7%9F%A9%E9%99%A3%E8%A7%80%E5%AF%9F-1-%E4%BD%BF%E7%94%A8-pil-scipy-a291385b712c
- canonical_url
- https://medium.com/@andyhuang76/%E5%9C%96%E5%83%8F%E6%97%8B%E8%BD%89%E5%BE%8C%E7%9A%84%E7%9F%A9%E9%99%A3%E8%A7%80%E5%AF%9F-1-%E4%BD%BF%E7%94%A8-pil-scipy-a291385b712c
- author_url
- https://medium.com/@andyhuang76
- status
- ok
- fetched_at
- 2026-07-27 23:39:06