[cf6a9e]: / features / feature.py

Download this file

40 lines (34 with data), 1.1 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from .otsu import *
#from FeatureExtract import *
import cv2
import numpy as np
from skimage import io
import scipy.misc
def truncate_hu(image_array, max = 400, min = -900):
image = image_array.copy()
image[image > max] = max
image[image < min] = min
return image
'''
edge不用这个函数了,比较慢
'''
def edge_detection(img):
# gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 转换为灰度图
# img = truncate_hu(gray)
img = truncate_hu(img)
x = cv2.Sobel(img, cv2.CV_16S, 1, 0)
y = cv2.Sobel(img, cv2.CV_16S, 0, 1)
#z = cv2.Sobel(img, cv2.CV_16S, 1, 1)
absX = cv2.convertScaleAbs(x) # 转回uint8
absY = cv2.convertScaleAbs(y)
#absz = cv2.convertScaleAbs(z)
dst = cv2.addWeighted(absX,0.5,absY,0.5,0)
return dst
'''
otsu还没找到代替的
'''
def otsu(img):
# gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 转换为灰度图
# otsu_img = otsu_helper(gray, upper=118, down = 45,categories=1)
otsu_img = otsu_helper(img, categories=1)
return otsu_img