라이브러리 Numpy를 이용한 정규 분포에 기초한 참깨염 노이즈 부가 처리 및 제거 처리
처음에(^ω^)
모자이크는 아니 네요. 소음이 아니네요 ...
정말 음향 신호 주위에서 할 예정이었던 것입니다만, 이미지 쪽이 우케가 좋을까라고 생각해 보았습니다. 생각보다 퀄리티 높다? !
작성한 소스 코드
#---------------------------------------------------------
#ライブラリNumpyを用いた正規分布に基づくゴマ塩ノイズ付加処理と除去処理
#---------------------------------------------------------
import numpy as np
import cv2
#保存先指定
file = './text11.txt'
#カラーで読み込み
img = cv2.imread('./shigure.png')
#Numy配列に保存
im = np.array(img)
#画像サイズ取得
shape = im.shape
#1ピクセル事にノイズ付加処理
for x in range(shape[0]):
for y in range(shape[1]):
Count = 0
rand = np.random.randint(3)#乱数作成
print (rand)
if rand == 0:
for Count in range(3):
im[x][y][Count] = 0
if rand == 1:
for Count in range(3):
im[x][y][Count] = 255
#ノイズ付加画像出力
cv2.imwrite('./Add noise.png', im)
#ノイズ除去
median1 = cv2.medianBlur(im, ksize = 3)#1回目
median2 = cv2.medianBlur(median1, ksize = 3)#2回目
median3 = cv2.medianBlur(median2, ksize = 3)#3回目
median4 = cv2.medianBlur(median3, ksize = 3)#4回目
median5 = cv2.medianBlur(median4, ksize = 3)#5回目
median6 = cv2.medianBlur(median5, ksize = 3)#6回目
median7 = cv2.medianBlur(median6, ksize = 3)#7回目
median8 = cv2.medianBlur(median7, ksize = 3)#8回目
median9 = cv2.medianBlur(median8, ksize = 3)#9回目
median10 = cv2.medianBlur(median9, ksize = 3)#10回目
#ノイズ除去画像出力
cv2.imwrite('./Noise removal1.png', median1)#1回目のノイズ除去画像出力
cv2.imwrite('./Noise removal10.png', median10)#10回目のノイズ除去画像出力
코드 해설
코드 실행 결과
원본 이미지
노이즈 추가 이미지
노이즈 제거 1회째
노이즈 제거 10회째
코드 해설 저것 이것
노이즈 부가 처리
#1ピクセル事にノイズ付加処理
for x in range(shape[0]):
for y in range(shape[1]):
Count = 0
rand = np.random.randint(3)#乱数作成
print (rand)
if rand == 0:
for Count in range(3):
im[x][y][Count] = 0
if rand == 1:
for Count in range(3):
im[x][y][Count] = 255
노이즈 부가 처리에 관해서는, 1픽셀마다 난수를 이용해 노이즈를 부가하고 있습니다. 그러기 위해서는 1픽셀마다 내용물을 꺼내야 합니다. 그 때문에 2중 for를 이용해 보았습니다. x축과 y축의 관계에 주의하면서 보세요!
노이즈 제거 처리
#ノイズ除去
median1 = cv2.medianBlur(im, ksize = 3)#1回目
median2 = cv2.medianBlur(median1, ksize = 3)#2回目
median3 = cv2.medianBlur(median2, ksize = 3)#3回目
median4 = cv2.medianBlur(median3, ksize = 3)#4回目
median5 = cv2.medianBlur(median4, ksize = 3)#5回目
median6 = cv2.medianBlur(median5, ksize = 3)#6回目
median7 = cv2.medianBlur(median6, ksize = 3)#7回目
median8 = cv2.medianBlur(median7, ksize = 3)#8回目
median9 = cv2.medianBlur(median8, ksize = 3)#9回目
median10 = cv2.medianBlur(median9, ksize = 3)#10回目
#ノイズ除去画像出力
cv2.imwrite('Noise removal1.png', median1)#1回目のノイズ除去画像出力
cv2.imwrite('Noise removal10.png', median10)#10回目のノイズ除去画像出力
참고문헌
어쩌면 안돼.
목차와 같은 것
Re: 처음부터 시작하는 기계 학습 생활(심층 학습도 있어)
여기에 진척 상황 등을 실고 있습니다.
지금까지 쓴 것을 나열하고 있으니 봐주세요!
Reference
이 문제에 관하여(라이브러리 Numpy를 이용한 정규 분포에 기초한 참깨염 노이즈 부가 처리 및 제거 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KengoKudou/items/49a25c5bdbdb1a4f6047
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#---------------------------------------------------------
#ライブラリNumpyを用いた正規分布に基づくゴマ塩ノイズ付加処理と除去処理
#---------------------------------------------------------
import numpy as np
import cv2
#保存先指定
file = './text11.txt'
#カラーで読み込み
img = cv2.imread('./shigure.png')
#Numy配列に保存
im = np.array(img)
#画像サイズ取得
shape = im.shape
#1ピクセル事にノイズ付加処理
for x in range(shape[0]):
for y in range(shape[1]):
Count = 0
rand = np.random.randint(3)#乱数作成
print (rand)
if rand == 0:
for Count in range(3):
im[x][y][Count] = 0
if rand == 1:
for Count in range(3):
im[x][y][Count] = 255
#ノイズ付加画像出力
cv2.imwrite('./Add noise.png', im)
#ノイズ除去
median1 = cv2.medianBlur(im, ksize = 3)#1回目
median2 = cv2.medianBlur(median1, ksize = 3)#2回目
median3 = cv2.medianBlur(median2, ksize = 3)#3回目
median4 = cv2.medianBlur(median3, ksize = 3)#4回目
median5 = cv2.medianBlur(median4, ksize = 3)#5回目
median6 = cv2.medianBlur(median5, ksize = 3)#6回目
median7 = cv2.medianBlur(median6, ksize = 3)#7回目
median8 = cv2.medianBlur(median7, ksize = 3)#8回目
median9 = cv2.medianBlur(median8, ksize = 3)#9回目
median10 = cv2.medianBlur(median9, ksize = 3)#10回目
#ノイズ除去画像出力
cv2.imwrite('./Noise removal1.png', median1)#1回目のノイズ除去画像出力
cv2.imwrite('./Noise removal10.png', median10)#10回目のノイズ除去画像出力
코드 해설
코드 실행 결과
원본 이미지
노이즈 추가 이미지
노이즈 제거 1회째
노이즈 제거 10회째
코드 해설 저것 이것
노이즈 부가 처리
#1ピクセル事にノイズ付加処理
for x in range(shape[0]):
for y in range(shape[1]):
Count = 0
rand = np.random.randint(3)#乱数作成
print (rand)
if rand == 0:
for Count in range(3):
im[x][y][Count] = 0
if rand == 1:
for Count in range(3):
im[x][y][Count] = 255
노이즈 부가 처리에 관해서는, 1픽셀마다 난수를 이용해 노이즈를 부가하고 있습니다. 그러기 위해서는 1픽셀마다 내용물을 꺼내야 합니다. 그 때문에 2중 for를 이용해 보았습니다. x축과 y축의 관계에 주의하면서 보세요!
노이즈 제거 처리
#ノイズ除去
median1 = cv2.medianBlur(im, ksize = 3)#1回目
median2 = cv2.medianBlur(median1, ksize = 3)#2回目
median3 = cv2.medianBlur(median2, ksize = 3)#3回目
median4 = cv2.medianBlur(median3, ksize = 3)#4回目
median5 = cv2.medianBlur(median4, ksize = 3)#5回目
median6 = cv2.medianBlur(median5, ksize = 3)#6回目
median7 = cv2.medianBlur(median6, ksize = 3)#7回目
median8 = cv2.medianBlur(median7, ksize = 3)#8回目
median9 = cv2.medianBlur(median8, ksize = 3)#9回目
median10 = cv2.medianBlur(median9, ksize = 3)#10回目
#ノイズ除去画像出力
cv2.imwrite('Noise removal1.png', median1)#1回目のノイズ除去画像出力
cv2.imwrite('Noise removal10.png', median10)#10回目のノイズ除去画像出力
참고문헌
어쩌면 안돼.
목차와 같은 것
Re: 처음부터 시작하는 기계 학습 생활(심층 학습도 있어)
여기에 진척 상황 등을 실고 있습니다.
지금까지 쓴 것을 나열하고 있으니 봐주세요!
Reference
이 문제에 관하여(라이브러리 Numpy를 이용한 정규 분포에 기초한 참깨염 노이즈 부가 처리 및 제거 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KengoKudou/items/49a25c5bdbdb1a4f6047
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#1ピクセル事にノイズ付加処理
for x in range(shape[0]):
for y in range(shape[1]):
Count = 0
rand = np.random.randint(3)#乱数作成
print (rand)
if rand == 0:
for Count in range(3):
im[x][y][Count] = 0
if rand == 1:
for Count in range(3):
im[x][y][Count] = 255
#ノイズ除去
median1 = cv2.medianBlur(im, ksize = 3)#1回目
median2 = cv2.medianBlur(median1, ksize = 3)#2回目
median3 = cv2.medianBlur(median2, ksize = 3)#3回目
median4 = cv2.medianBlur(median3, ksize = 3)#4回目
median5 = cv2.medianBlur(median4, ksize = 3)#5回目
median6 = cv2.medianBlur(median5, ksize = 3)#6回目
median7 = cv2.medianBlur(median6, ksize = 3)#7回目
median8 = cv2.medianBlur(median7, ksize = 3)#8回目
median9 = cv2.medianBlur(median8, ksize = 3)#9回目
median10 = cv2.medianBlur(median9, ksize = 3)#10回目
#ノイズ除去画像出力
cv2.imwrite('Noise removal1.png', median1)#1回目のノイズ除去画像出力
cv2.imwrite('Noise removal10.png', median10)#10回目のノイズ除去画像出力
어쩌면 안돼.
목차와 같은 것
Re: 처음부터 시작하는 기계 학습 생활(심층 학습도 있어)
여기에 진척 상황 등을 실고 있습니다.
지금까지 쓴 것을 나열하고 있으니 봐주세요!
Reference
이 문제에 관하여(라이브러리 Numpy를 이용한 정규 분포에 기초한 참깨염 노이즈 부가 처리 및 제거 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KengoKudou/items/49a25c5bdbdb1a4f6047
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(라이브러리 Numpy를 이용한 정규 분포에 기초한 참깨염 노이즈 부가 처리 및 제거 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KengoKudou/items/49a25c5bdbdb1a4f6047텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)