본문 바로가기
반응형

Programming/Image Processing5

[Image Processing][Python]이미지 스무딩(mean, median, k-nearest neighbor) 이번 친구들은 스무딩, 블러링 같은 이름으로 불리는 처리 방법입니다. 이런 필터링 작업들을 해주는 이유는 이미지의 노이즈를 줄이거나 이미지를 흐리게 하기 위해서 진행하는 경우가 많습니다. mean filter 결과 : 코드 : import cv2 import numpy as np def mean_filter(img): h,w = img.shape[:2] img1 = img for i in range(1,h-1): for j in range(1,w-1): img1[i][j] = (int(img[i-1][j-1])+int(img[i][j-1])+int(img[i+1][j-1])+int(img[i-1][j])+int(img[i][j])+int(img[i+1][j])+int(img[i-1][j+1])+int(i.. 2021. 12. 9.
[Image Processing][Python]이미지의 도심 구하기(Centroid) 이번엔 이미지의 도심을 구해보겠습니다. 저는 뭔가 이미지 선택을 좀 잘못한 것 같은데요. 여러분들은 확실하게 객체 구분이 되는 이미지를 사용하시면 좋을 것 같습니다. 결과 : 코드 : import cv2 import numpy as np def cvt_to_binary(img,binary_threshold): img1 = np.where(img > binary_threshold,255,img) img2 = np.where(img1 < binary_threshold,0,img1) return img2 def get_centroid(binary_img): h,w = binary_img.shape[:2] x=[] y=[] for i in range(h): for j in range(w): if binary_i.. 2021. 12. 8.
[Image Processing][Python]이미지 히스토그램(Histogram) 오늘은 이미지의 히스토그램을 한 번 알아보고자 합니다. 이번 포스팅도 사전 설명이 좀 있을 예정입니다만 최대한 간략하게 하도록 노력해보겠습니다. 히스토그램(Histogram)이란 데이터의 특징을 한눈에 알아볼 수 있도록 데이터를 막대그래프 모양으로 나타낸 것입니다. 디지털 영상처리의 관점에서는 히스토그램을 통해 영상의 특징을 파악할 수 있다는 장점이 있는데요. 1 채널 이미지를 예로 들어보자면 0에서 255까지의 intensity 범위가 있고 해당 값을 갖는 픽셀의 개수를 세어 그래프로 만들어보면 명도에 따른 픽셀의 개수가 나오는 것이기에 이미지가 밝기 등을 알 수 있겠죠. 이전 포스팅에서도 알아봤듯이 intensity를 수학적 연산을 통해서 값을 변환시키면 그게 이미지에도 적용된다는 것을 봤었죠. 특정.. 2021. 12. 8.
[Image Processing][Python]이미지 이진화(Binarization) 이전 포스팅에서 말했던 대로 오늘은 numpy 모듈도 사용해서 구현해보았습니다. 사용한 샘플 사진은 저번 포스팅과 같습니다. 결과 : 코드 : import cv2 import numpy as np def cvt_to_binary(img,binary_threshold): img1 = np.where(img > binary_threshold,255,img) img2 = np.where(img1 < binary_threshold,0,img1) return img2 img_name = input('Input Image Name : ') binary_threshold = int(input('Input Binary Threshold : ')) img = cv2.imread(f'./img_sample/{img_nam.. 2021. 12. 7.
[Image Processing][Python]이미지 그레이스케일 변환 문득 최대한 opencv를 안 쓰고 이미지 프로세싱을 진행해보면 어떨까 하는 생각이 들었습니다. 기초부터 이미지 프로세싱을 진행한다는 느낌도 들고 최소한 내가 사용하는 기술이 어떤 식으로 이뤄져 있는지는 알고 쓰는 게 나중에도 도움이 될 것이라 생각이 들어서 간단한 것부터 진행해보려 합니다. 이 글은 현재 opencv의 inshow, imread, imwrite 등의 이미지를 불러오고 보여주는 기술은 아직 구현하지 못했기에 전혀 opencv의 기능을 사용하지 않는 것이 아니라는 점을 미리 고지합니다. 흑백 이미지로 변환할 이미지를 아무거나 골라주세요. 저는 이 사진으로 해보겠습니다. 먼저 이미지에 대한 간단한 내용을 짚고 넘어가야 하는데요. 우리가 눈으로 볼 때는 이미지에 들어있는 무언가의 형태나 색을 .. 2021. 12. 6.
반응형