Source code for improc.enhancement.enhance

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-03-18 21:31:56
# @Author  : Yan Liu & Zhi Liu (zhiliu.mind@gmail.com)
# @Link    : http://iridescent.ink
# @Version : $1.0$
from __future__ import division, print_function, absolute_import
import numpy as np
from improc.dsp.filters import imfilter2d
from improc.common.typevalue import get_drange
from improc.transform.preprocessing import scalearr


[docs]def imenhance(A, ftype='mean'): Af = imfilter2d(A, K=None, ftype=ftype) L = get_drange(A.dtype) if ftype.find('sharpen') != -1: Af = scalearr(A + Af, scaleto=L, scalefrom=L) return Af.astype(A.dtype)
if __name__ == '__main__': import matplotlib.pyplot as plt import matplotlib.image as img import improc as imp A = img.imread('../../data/imgs/LenaRGB.tif') print(A.shape) Ab = imenhance(A, ftype='blur3x3_mean1').astype('uint8') As = imenhance(A, ftype='sharpen3x3_type1') AbAs = imenhance(Ab, ftype='sharpen3x3_type1') print(Ab.min(), Ab.max()) print(As.min(), As.max()) print(AbAs.min(), AbAs.max()) plt.figure() plt.subplot(221) plt.imshow(A) plt.subplot(222) plt.imshow(Ab) plt.subplot(223) plt.imshow(As) plt.subplot(224) plt.imshow(AbAs) plt.tight_layout() plt.show()