資源簡介
利用opencv自帶的骨架提取函數,經優化后得到漢字圖像的骨架圖
代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Tue?Mar?20?10:53:50?2018
@author:?Administrator
“““
import?cv2?as?cv
import?numpy?as?np
def?VThin(image?array):
????h?=?image.shape[1]
????w?=?image.shape[0]
????NEXT?=?1
????for?i?in?range(399):
????????for?j?in?range(399):
????????????if?NEXT?==?0:
????????????????NEXT?=?1
????????????else:
????????????????M?=?image[i?j?-?1]?+?image[i?j]?+?image[i?j?+?1]?if?0?????????????????if?image[i?j]?==?0?and?M?!=?0:
????????????????????a?=?[0]?*?9
????????????????????for?k?in?range(3):
????????????????????????for?l?in?range(3):
????????????????????????????if?-1?(i?-?1?+?k)?????????????????????????????????a[k?*?3?+?l]?=?1
????????????????????sum?=?a[0]?*?1?+?a[1]?*?2?+?a[2]?*?4?+?a[3]?*?8?+?a[5]?*?16?+?a[6]?*?32?+?a[7]?*?64?+?a[8]?*?128
????????????????????image[i?j]?=?array[sum]?*?255
????????????????????if?array[sum]?==?1:
????????????????????????NEXT?=?0
????return?image
print(‘4‘)
def?HThin(image?array):
????h?=?image.shape[1]
????w?=?image.shape[0]
????NEXT?=?1
????for?j?in?range(399):
????????for?i?in?range(399):
????????????if?NEXT?==?0:
????????????????NEXT?=?1
????????????else:
????????????????M?=?image[i?-?1?j]?+?image[i?j]?+?image[i?+?1?j]?if?0?????????????????if?image[i?j]?==?0?and?M?!=?0:
????????????????????a?=?[0]?*?9
????????????????????for?k?in?range(3):
????????????????????????for?l?in?range(3):
????????????????????????????if?-1?(i?-?1?+?k)?????????????????????????????????a[k?*?3?+?l]?=?1
????????????????????sum?=?a[0]?*?1?+?a[1]?*?2?+?a[2]?*?4?+?a[3]?*?8?+?a[5]?*?16?+?a[6]?*?32?+?a[7]?*?64?+?a[8]?*?128
????????????????????image[i?j]?=?array[sum]?*?255
??
評論
共有 條評論