圖像旋轉後的矩陣觀察-1 使用 PIL+scipy

圖像驗證 andy 3年前 (2021-09-20) 1001次浏览 已收录 0个评论 扫描二维码

圖像旋轉後的矩陣觀察

在週末報告完論文時,老師提了一個問題,就是旋轉之後矩陣是不是變大了?變大了之後是不是導致了特徵的改變,所以感知雜湊的檢測的成功率就變低了。在自己實驗時,都是給定旋轉角度後直接去計算感知雜湊,最多就是把旋轉後的圖像顯示出來,沒有仔細的去觀察矩陣的變化。因此,我們來觀察圖像旋轉後的矩陣,並且思考變化後的矩陣如何影響感知雜湊。

首先我們先準備 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)
##

在以上代碼中,我們多做了灰階化,目的是專注於二維陣列,也就是矩陣的旋轉。然後把 img 及 shape 打印出來,以確定是我們所需要的。下圖是 Lena_Gray

圖像旋轉後的矩陣觀察-1 使用 PIL+scipy

接下來旋轉矩陣並且把 shape 打印出來

img_45 = ndimage.rotate(img, 45)
print(np.array(img_45).shape)
## (724, 724)

這裡我們會看到矩陣變成了(724,724), 旋轉圖像的顯示如下。

圖像旋轉後的矩陣觀察-1 使用 PIL+scipy

到這一步為止都很正常,符合我們的期待,先下本段的結論。圖像旋轉後,除了旋轉本會造成的特徵改變之外,對於因為旋轉造成矩陣變大而增加的數據,也可能增加特徵提取時的誤判。

而下一篇使用 OpenCV 則有點出乎我的意料之外了。


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:圖像旋轉後的矩陣觀察-1 使用 PIL+scipy
喜欢 (0)
[[email protected]]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址