點擊上方“AI算法與圖像處理”,選擇加"星標"或“置頂”
重磅乾貨,第一時間送達
編輯:AI算法與圖像處理 僅作爲學習交流分享,如有侵權請聯繫刪除
項目介紹
大家好,又到了愉快的週末,前段時間再B站看到一個騷操作。
圖片縮小後 內容竟變得完全不同!妥妥的加密神技,背後的原理是我們圖像處理中的常用操作。最近鄰插值的妙用!
視頻來源:https://www.bilibili.com/video/BV1Lf4y1r7dZ
先看效果
原理分享
通過放大圖片觀察可以看到,其實在大圖上面存在一些貌似有規律的點,如下所示:
實際上這些點是組成 小圖 的點
當對大圖進行縮小時,圖片顯示的結果就是上面一些小點。
那麼的大家肯定會有疑問:
1、爲什麼插入的點,縮小後會變成完全不同的圖
2、如何將這些點插入進去
1、爲什麼插入的點,縮小後會變成完全不同的圖
這裏需要提前講解一下圖像縮放的原理(知識點!):
圖像縮放(image scaling)是指對數字圖像的大小進行調整的過程。
這裏涉及到的圖片的縮小,即從較大尺寸的圖片轉換爲較小尺寸的圖片。
這裏僅介紹最近鄰法插值:
概念:將變換後的圖像中的原像素點最鄰近像素的灰度值賦給原像素點的方法。
下面這張圖可以清晰解釋最近鄰的實現原理(放大的情況)
下面這張圖可以清晰解釋最近鄰的實現原理(縮小的情況)
假設原圖如下所示,圖片的尺寸是 3 x 9
此時,在使用最近鄰縮放時,且縮放的倍數爲 3 時,會默認時用中間的紅色方塊來代替,進行三倍縮小後的最終效果如下:
使用這種方法來顯示你想要實現的效果有兩個條件:
1、縮放時採用最近鄰縮放
2、已知縮放的倍率或尺寸
這裏作者給的demo 都是縮放 10 倍的,如果圖片的尺寸有區別需要自定義。
使用上面的騷操作,還能幹壞事呢。不,還能幹什麼大事呢?
比如,學習資料的傳播
表面上是一張妹子的圖,縮放後:
是一份正經的學習資料!
就問你服不服!‘
代碼如下:
import sys
from PIL import Image
#將small_img中的像素用近鄰法嵌入到big_img中
def my_nearest_resize(big_img, small_img):
big_w, big_h = big_img.size
small_w, small_h = small_img.size
dst_im = big_img.copy()
stepx = big_w/small_w
stepy = big_h/small_h
for i in range(0, small_w):
for j in range(0, small_h):
map_x = int( i*stepx + stepx*0.5 )
map_y = int( j*stepy + stepy*0.5 )
if map_x < big_w and map_y < big_h :
dst_im.putpixel( (map_x, map_y), small_img.getpixel( (i, j) ) )
return dst_im
if __name__ == '__main__':
big_img=Image.open(sys.argv[1]) # 大圖
small_img=Image.open(sys.argv[2]) # 小圖
dst_im = my_nearest_resize(big_img, small_img)
dst_im.save(sys.argv[3]) # 嵌入小圖像素的大圖
項目鏈接:https://github.com/3150601355/SimpleScaleDown
視頻來源:https://www.bilibili.com/video/BV1Lf4y1r7dZ
本文是在這位仁兄上面學到的,佩服佩服!
另外還提供了一些素材在後臺,回覆 “ 好傢伙 ” 即可獲取!
學到了的小夥伴歡迎三連一波,下週見!
參考資料
https://zhuanlan.zhihu.com/p/54727827
項目鏈接:https://github.com/3150601355/SimpleScaleDown
視頻來源:https://www.bilibili.com/video/BV1Lf4y1r7dZ
https://zhuanlan.zhihu.com/p/89409337
https://baike.baidu.com/item/%E6%9C%80%E8%BF%91%E9%82%BB%E6%8F%92%E5%80%BC%E6%B3%95/9219642?fr=aladdin
個人微信(如果沒有備註不拉羣!)
請註明:
地區+學校/企業+研究方向+暱稱
下載1:何愷明頂會分享
在「AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析
下載2:終身受益的編程指南:Google編程風格指南
在「AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!
下載3 CVPR2021
在「AI算法與圖像處理」公衆號後臺回覆:
CVPR
,即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文
點亮 ,告訴大家你也在看
本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。