Python 에서 중간 값 필터,평균 값 필 터 를 실현 하 는 방법
레 나 캡 사이 신 소음 사진:
# -*- coding: utf-8 -*-
"""
Created on Sat Oct 14 22:16:47 2017
@author: Don
"""
from tkinter import *
from skimage import io
import numpy as np
im=io.imread('lena_sp.jpg', as_grey=True)
im_copy_med = io.imread('lena_sp.jpg', as_grey=True)
im_copy_mea = io.imread('lena_sp.jpg', as_grey=True)
#io.imshow(im)
for i in range(0,im.shape[0]):
for j in range(0,im.shape[1]):
im_copy_med[i][j]=im[i][j]
im_copy_mea[i][j]=im[i][j]
#ui
root = Tk()
root.title("lena")
root.geometry('300x200')
medL = Label(root, text=" :")
medL.pack()
med_text = StringVar()
med = Entry(root, textvariable = med_text)
med_text.set("")
med.pack()
meaL = Label(root, text=" :")
meaL.pack()
mea_text = StringVar()
mea = Entry(root, textvariable = mea_text)
mea_text.set("")
mea.pack()
def m_filter(x, y, step):
sum_s=[]
for k in range(-int(step/2),int(step/2)+1):
for m in range(-int(step/2),int(step/2)+1):
sum_s.append(im[x+k][y+m])
sum_s.sort()
return sum_s[(int(step*step/2)+1)]
def mean_filter(x, y, step):
sum_s = 0
for k in range(-int(step/2),int(step/2)+1):
for m in range(-int(step/2),int(step/2)+1):
sum_s += im[x+k][y+m] / (step*step)
return sum_s
def on_click():
if(med_text):
medStep = int(med_text.get())
for i in range(int(medStep/2),im.shape[0]-int(medStep/2)):
for j in range(int(medStep/2),im.shape[1]-int(medStep/2)):
im_copy_med[i][j] = m_filter(i, j, medStep)
if(mea_text):
meaStep = int(mea_text.get())
for i in range(int(meaStep/2),im.shape[0]-int(meaStep/2)):
for j in range(int(meaStep/2),im.shape[1]-int(meaStep/2)):
im_copy_mea[i][j] = mean_filter(i, j, meaStep)
io.imshow(im_copy_med)
io.imsave(str(medStep) + 'med.jpg', im_copy_med)
io.imshow(im_copy_mea)
io.imsave(str(meaStep) + 'mea.jpg', im_copy_mea)
Button(root, text="filterGo", command = on_click).pack()
root.mainloop()
실행 결과 캡 처:이상 의 Python 에서 중간 값 필터,평균 값 필 터 를 실현 하 는 방법 은 바로 작은 편 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시 기 를 바 랍 니 다.여러분 들 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.