我一直在尝试使用这个“教程”学习使用opencv库进行python:
在其他教程中,我可以使它工作正常,但在这里平滑/模糊图像我无法找到“打印”输出的方法。
通过 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)