def or_(self, imagen, imagen_dos=None, valor=0, limitar=True): nombre_imagen = hnm.generar_nombre_imagen() imagen_inicial = cp.copy(imagen) """ Inicio del algoritmo """ if imagen_dos is None: for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = imagen[i, j] | valor if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen else: imagen = hcv.normalizar_imagen(imagen) imagen_dos = hcv.normalizar_imagen(imagen_dos) for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = imagen[i, j] | imagen_dos[i, j] if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen """ Fin del algoritmo """ hcv.guardar_imagen(hnm.ontener_nombre_archivo(nombre_imagen, True), hnp.unir_imagen(imagen_inicial, imagen_final)) return hnm.ontener_nombre_archivo(nombre_imagen)
def invert(self, imagen, limitar=True): nombre_imagen = hnm.generar_nombre_imagen() imagen_inicial = cp.copy(imagen) """ Inicio del algoritmo """ for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = 255 - imagen[i, j] if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen """ Fin del algoritmo """ hcv.guardar_imagen(hnm.ontener_nombre_archivo(nombre_imagen, True), hnp.unir_imagen(imagen_inicial, imagen_final)) return hnm.ontener_nombre_archivo(nombre_imagen)
def exponential(self, imagen, limitar=True): nombre_imagen = hnm.generar_nombre_imagen() imagen_inicial = cp.copy(imagen) """ Inicio del algoritmo """ c = hca.MAX_VALUE / (mt.log(1 + imagen.max())) for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = c * (mt.pow(1.01, imagen[i, j]) - 1) if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen """ Fin del algoritmo """ hcv.guardar_imagen(hnm.ontener_nombre_archivo(nombre_imagen, True), hnp.unir_imagen(imagen_inicial, imagen_final)) return hnm.ontener_nombre_archivo(nombre_imagen)
def raise_to_power(self, imagen, constante=0, limitar=True): nombre_imagen = hnm.generar_nombre_imagen() imagen_inicial = cp.copy(imagen) """ Inicio del algoritmo """ r = float(0.5) for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = constante * (mt.pow(imagen[i, j], r)) if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen """ Fin del algoritmo """ hcv.guardar_imagen(hnm.ontener_nombre_archivo(nombre_imagen, True), hnp.unir_imagen(imagen_inicial, imagen_final)) return hnm.ontener_nombre_archivo(nombre_imagen)
def blending(self, imagen, imagen_dos, valor=0, limitar=True): nombre_imagen = hnm.generar_nombre_imagen() imagen_inicial = cp.copy(imagen) """ Inicio del algoritmo """ imagen = hcv.normalizar_imagen(imagen) imagen_dos = hcv.normalizar_imagen(imagen_dos) for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = (valor * imagen[i, j]) + ((1 - valor) * imagen_dos[i, j]) if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen """ Fin del algoritmo """ hcv.guardar_imagen(hnm.ontener_nombre_archivo( nombre_imagen, True), hnp.unir_imagen(imagen_inicial, imagen_final)) return hnm.ontener_nombre_archivo(nombre_imagen)
def contrast_stretching(self, imagen, valor_minimo=0, valor_maximo=255, limitar=True): nombre_imagen = hnm.generar_nombre_imagen() imagen_inicial = cp.copy(imagen) """ Inicio del algoritmo """ for i in range(len(imagen)): for j in range(len(imagen[i])): resultado = ((imagen[i, j] - valor_minimo) / (valor_maximo - valor_minimo)) * hca.MAX_VALUE if limitar: resultado = hca.limitar(resultado) imagen[i, j] = resultado imagen_final = imagen """ Fin del algoritmo """ hcv.guardar_imagen(hnm.ontener_nombre_archivo(nombre_imagen, True), hnp.unir_imagen(imagen_inicial, imagen_final)) return hnm.ontener_nombre_archivo(nombre_imagen)