OpenCV 및 NumPy 환경에서 그레이 스케일 이미지를 이용한 픽셀 값 반전

처음에(^ω^)



이전 게시물에서 회색조 이미지를 만드는 데 성공했습니다.
그 이미지를 사용하여 재미있을 수 없다고 생각한 결과입니다.
픽셀 값을 잘 처리 할 수 ​​있으면 편리하다는 것을 알고 싶었기 때문에 만들었습니다.

작성한 소스 코드


#-----------------------------------------
#OpenCVとNumPy環境におけるグレースケール画像を用いた画素値反転
#-----------------------------------------
import numpy as np
import cv2

hoge = './'
#保存先指定
file = './text8.txt'
#カラー読み込み
img = cv2.imread(hoge+'shigure.png')
#グレースケールで読み込み
img2 = cv2.imread(hoge+'shigure.png',0)


#Numy配列に保存
im = np.array(img2)

#画像サイズ取得
shape = im.shape

#閾値設定
Threshold = 220
for y in range(shape[0]):
    for x in range(shape[1]):
        if im[x][y] >= Threshold:
            im[x][y] = 0

#色反転
for y in range(shape[0]):
    for x in range(shape[1]):
        im[x][y] = 255 - im[x][y]

#テキスト出力
np.savetxt(file, im, fmt="%3.0f", delimiter=",")

#配列出力
print (im)

#画像出力
cv2.imwrite(hoge+'gray.png', im)

결과




이것이

이렇게

이렇게 됐어!
귀여운(^ω^)

코드 해설



①화소값 반전


#色反転
for y in range(shape[0]):
    for x in range(shape[1]):
        im[x][y] = 255 - im[x][y]

화상의 화소치를 취급할 때에, 2차원 배열로서 취급할 수 있으면 여러가지 편리하거나 합니다.
이번 소스에서 임계값 등을 사용하고 있습니다만 다음 번 이후에 상세한 해설을 하고 싶습니다(원망)

참고문헌



특히 없을지도

목차와 같은 것



Re: 처음부터 시작하는 기계 학습 생활(심층 학습도 있어)
여기에 진척 상황 등을 실고 있습니다.
지금까지 쓴 것을 나열하고 있으니 봐주세요!

좋은 웹페이지 즐겨찾기