91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

BM3D在傳統圖像去噪方面效果是最好的,此代碼需要安裝opencv庫

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-
“““
*BM3D算法簡單實現主要程序部分
*創建于2016.9.13
*作者:lmp31
“““
import?cv2
import?PSNR
import?numpy


cv2.setUseOptimized(True)

#?Parameters?initialization
sigma?=?25
Threshold_Hard3D?=?2.7*sigma???????????#?Threshold?for?Hard?Thresholding
First_Match_threshold?=?2500?????????????#?用于計算block之間相似度的閾值
Step1_max_matched_cnt?=?16??????????????#?組最大匹配的塊數
Step1_Blk_Size?=?8?????????????????????#?block_Size即塊的大小,8*8
Step1_Blk_Step?=?3??????????????????????#?Rather?than?sliding?by?one?pixel?to?every?next?reference?block?use?a?step?of?Nstep?pixels?in?both?horizontal?and?vertical?directions.
Step1_Search_Step?=?3???????????????????#?塊的搜索step
Step1_Search_Window?=?39????????????????#?Search?for?candidate?matching?blocks?in?a?local?neighborhood?of?restricted?size?NS*NS?centered

Second_Match_threshold?=?400???????????#?用于計算block之間相似度的閾值
Step2_max_matched_cnt?=?32
Step2_Blk_Size?=?8
Step2_Blk_Step?=?3
Step2_Search_Step?=?3
Step2_Search_Window?=?39

Beta_Kaiser?=?2.0


def?init(img?_blk_size?_Beta_Kaiser):
????“““該函數用于初始化,返回用于記錄過濾后圖像以及權重的數組還有構造凱撒窗“““
????m_shape?=?img.shape
????m_img?=?numpy.matrix(numpy.zeros(m_shape?dtype=float))
????m_wight?=?numpy.matrix(numpy.zeros(m_shape?dtype=float))
????K?=?numpy.matrix(numpy.kaiser(_blk_size?_Beta_Kaiser))
????m_Kaiser?=?numpy.array(K.T?*?K)????????????#?構造一個凱撒窗
????return?m_img?m_wight?m_Kaiser


def?Locate_blk(i?j?blk_step?block_Size?width?height):
????‘‘‘該函數用于保證當前的blk不超出圖像范圍‘‘‘
????if?i*blk_step+block_Size?????????point_x?=?i*blk_step
????else:
????????point_x?=?width?-?block_Size

????if?j*blk_step+block_Size?????????point_y?=?j*blk_step
????else:
????????point_y?=?height?-?block_Size

????m_blockPoint?=?numpy.array((point_x?point_y)?dtype=int)??#?當前參考圖像的頂點

????return?m_blockPoint


def?Define_SearchWindow(_noisyImg?_BlockPoint?_WindowSize?Blk_Size):
????“““該函數返回一個二元組(xy)用以界定_Search_Window頂點坐標“““
????point_x?=?_BlockPoint[0]??#?當前坐標
????point_y?=?_BlockPoint[1]??#?當前坐標

????#?獲得SearchWindow四個頂點的坐標
????LX?=?point_x+Blk_Size/2-_WindowSize/2?????#?左上x
????LY?=?point_y+Blk_Size/2-_WindowSize/2?????#?左上y
????RX?=?LX+_WindowSize???????????????????????#?右下x
????RY?=?LY+_WindowSize???????????????????????#?右下y

????#?判斷一下是否越界
????if?LX?????elif?RX?>?_noisyImg.shape[0]:???LX?=?_noisyImg.shape[0]-_WindowSize
????if?LY?????elif?RY?>?_noisyImg.shape[0]:???LY?=?_noisyImg.shape[0]-_WindowSize

????return?numpy.array((LX?LY)?dtype=int)


def?Step1_fast_match(_noisyImg?_BlockPoint):
????“““快速匹配“““
????‘‘‘
????*返回鄰域內尋找和當前_block相似度最高的幾個block返回的數組中包含本身
????*_noisyImg:噪聲圖像
????*_BlockPoint:當前block的坐標及大小
????‘‘‘
????(present_x?present_y)?=?_BlockPoint??#?當前坐標
????Blk_Size?=?Step1_Blk_Size
????Search_Step?=?Step1_Search_Step
????Threshold?=?First_Match_threshold
????max_matched?=?Step1_max_matched_cnt
????Window_size?=?Step1_Search_Window

????blk_positions?=?numpy.zeros((max_matched?2)?dtype=int)??#?用于記錄相似blk的位置
????Final_similar_blocks?=?numpy.zer

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????16316??2017-09-13?16:12??BM3D-Denoise-master\BM3D.py
?????文件?????????694??2017-09-13?16:12??BM3D-Denoise-master\PSNR.py
?????文件?????????631??2017-09-13?16:12??BM3D-Denoise-master\README.md
?????目錄???????????0??2018-06-21?20:17??BM3D-Denoise-master\

評論

共有 條評論