python和opencv 2 imwrite

时间:2013-11-17 21:12:07

标签: python opencv io

我一直在尝试使用这个“教程”学习使用opencv库进行python:

https://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_filtering/py_filtering.html#filtering

在其他教程中,我可以使它工作正常,但在这里平滑/模糊图像我无法找到“打印”输出的方法。

通过 print 我的意思是在磁盘中保存修改后的文件(代码建议使用其他名称)。

#!/usr/bin/env python
import cv2          
#import sys          # sys.exit() [used for argparse exit]
import numpy as np  
#import argparse     # not used here, because it's not really the problem
#import os           # to validate the image path with argparse


def hist_eq(imagem, name):
    cv2.imwrite("hist_eq" + name, cv2.equalizeHist(imagem))


def media(imagem, name, tam):
    mascara = np.ones((tam, tam), np.float32) / (tam ^ 2)
    img = cv2.filter2D(imagem, -1, mascara)
    cv2.imwrite("filtro_media_" + name, img)


def mediana(imagem, name, tam):
    imagem = cv2.medianBlur(imagem, tam)
    cv2.imwrite("filtro_mediana_" + name, imagem)


def gaussiano(imagem, name, tam):
    teste = cv2.GaussianBlur(imagem, (tam, tam), 0)
    cv2.imwrite("filtro_gaussiano_" + name, teste)


if __name__ == '__main__':
    nome = str(sys.argv[1])
    imagem = cv2.imread(nome)
    gs_imagem = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
    gaussiano(gs_imagem, nome, 11)
    media(gs_imagem, nome, 11)
    mediana(gs_imagem, nome, 11)
    hist_eq(gs_imagem, nome)

0 个答案:

没有答案