OpenCV-Python系列·第十一集:圖像銳化

自定義卷積核,如3×3、5×5、7×7、9×9、11×11

Tip:卷積核需歸一化。

# -*- coding: utf-8 -*-
"""
Created on Sat Aug 25 14:35:33 2018

@author: Miracle
"""

import cv2
import numpy as np
#加載圖像
image = cv2.imread('../data/lena.jpg')
#自定義卷積核
kernel_sharpen_1 = np.array([
        [-1,-1,-1],
        [-1,9,-1],
        [-1,-1,-1]])
kernel_sharpen_2 = np.array([
        [1,1,1],
        [1,-7,1],
        [1,1,1]])
kernel_sharpen_3 = np.array([
        [-1,-1,-1,-1,-1],
        [-1,2,2,2,-1],
        [-1,2,8,2,-1],
        [-1,2,2,2,-1], 
        [-1,-1,-1,-1,-1]])/8.0
#卷積
output_1 = cv2.filter2D(image,-1,kernel_sharpen_1)
output_2 = cv2.filter2D(image,-1,kernel_sharpen_2)
output_3 = cv2.filter2D(image,-1,kernel_sharpen_3)
#顯示銳化效果
cv2.imshow('Original Image',image)
cv2.imshow('sharpen_1 Image',output_1)
cv2.imshow('sharpen_2 Image',output_2)
cv2.imshow('sharpen_3 Image',output_3)
#停頓
if cv2.waitKey(0) & 0xFF == 27:
    cv2.destroyAllWindows()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章