import numpy as np
|
|
from PIL import Image
|
|
import matplotlib.pyplot as plt
|
|
|
|
import os
|
|
from skimage import io
|
|
|
|
from skimage import color
|
|
from skimage import filters
|
|
|
|
|
|
|
|
def imgFileToData(path):
|
|
image = Image.open(path)
|
|
image_data = np.asarray(image)
|
|
return image_data
|
|
|
|
def imgFileToData2(path):
|
|
img = io.imread(path)
|
|
return img
|
|
|
|
def detectObj(image_data):
|
|
#image_data_blue = image_data[:,:,2]
|
|
image_data_blue = color.rgb2grey(image_data)
|
|
#image_data_blue = threshold(image_data)
|
|
|
|
median_blue = np.median(image_data_blue)
|
|
print median_blue
|
|
median_blue = median_blue - median_blue/1.5
|
|
print median_blue
|
|
print image_data_blue
|
|
|
|
non_empty_columns = np.where(image_data_blue.min(axis=0)<median_blue)[0]
|
|
non_empty_rows = np.where(image_data_blue.min(axis=1)<median_blue)[0]
|
|
|
|
boundingBox = (min(non_empty_rows), max(non_empty_rows), min(non_empty_columns), max(non_empty_columns))
|
|
print boundingBox
|
|
return boundingBox
|
|
|
|
def threshold(img):
|
|
#img = color.rgb2grey(img)
|
|
#img = img[:,:,2]
|
|
img = color.rgb2grey(img)
|
|
thresh = filters.threshold_mean(img)
|
|
binary = img > thresh
|
|
return binary
|
|
|
|
def prova(img):
|
|
#return color.rgb2grey(img)
|
|
return img
|
|
|
|
def crop(image_data, box):
|
|
return image_data[box[0]:box[1], box[2]:box[3]]
|
|
|
|
def saveDataToImageFile(data, filename):
|
|
image = Image.fromarray(data)
|
|
image.save(filename)
|