본문 바로가기

Computer vision11

[Computer vision] 이진화 영상 팽창(dilation), 침식(erosion), 열기(open), 닫기(close) import cv2 import numpy as np import matplotlib.pyplot as plt from google.colab.patches import cv2_imshow %matplotlib inline def plot_img(images, titles): fig, axs = plt.subplots(nrows = 1, ncols = len(images), figsize = (15, 15)) for i, p in enumerate(images): axs[i].imshow(p, 'gray') axs[i].set_title(titles[i]) #axs[i].axis('off') plt.show() !wget https://www.shrednations.com/wp-content/upload.. 2021. 12. 3.
[Computer vision] 이진화 알고리즘 / 오츄 알고리즘 이진영상이란? 영상이 흑(0)과 백(1) 과 같이 두 가지 값만을 가진 영상을 말한다. 두 구간을 가르는 임계값(Threshold) T를 취해 임계값 보다 큰 화소는 백(1)으로 취하고, 그렇지 않은 화소는 흑(0)으로 바꾼다. 이진화 알고리즘 import cv2 import numpy import matplotlib.pyplot as plt %matplotlib inline # 비교를 위한 가시화 함수 def plot_img(images, titles): fig, axs = plt.subplots(nrows = 1, ncols = len(images), figsize = (15, 15)) for i, p in enumerate(images): axs[i].imshow(p, 'gray') axs[i].s.. 2021. 10. 29.
[Computer vision] 이진영상 라벨링하기 / 4연결성(4-neighbors), 8연결성(8-neighbors) 라벨링(labeling) 이란? 영상 내에 존재하는 객체 픽셀 집합에 고유 번호를 매기는 작업으로, 연결된 구성 요소 레이블링 이라고도 함 4 연결성 (4-neighbors) 4 연결성 : 특정 픽셀의 상하좌우로 붙어있는 픽셀끼리 연결되어 있다고 정의 8 연결성 (8-neighbors) 8 연결성 : 특정 픽셀의 상하좌우뿐만 아니라 대각선 방향으로 인접한 픽셀까지 연결되어 있다고 정의 이진 영상 불러오기 img = cv2.imread('sample.png') plt.imshow(img) 4 연결성 (4-neighbors) 라벨링 구현 def bfs(origin,check,colors,i,j,r,c,current_label) : q = deque([]) q.append([i,j]) dir =((1,0),(.. 2021. 10. 27.
[Computer vision] 라플라시안 연산자 (Laplacian Operator) 영상 ⨍ 의 일차 미분 이산 함수 f(x, y)에서 x 방향으로의 일차 미분이다. 영상 ⨍ 의 이차편미분 이산 함수 ⨍(x, y)에서 x 방향으로의 이차 편미분이다. 편미분 : 함수의 변수가 2개 이상인 함수에서 변수 1개의 변화에 따른 기울기를 알고 싶을 때 사용 한다. 영상 ⨍ 의 이차미분 x축과 y축에 대한 각각의 이차미분을 수행하고, 각 방향에 대한 이차미분 결과를 합친다. 이차 미분을 나타내는 연산자는 ∇2이며 라플라시안 또는 델타스퀘어라고 읽는다. 위 수식은 마스크 형태로 나타낼 수 있으며, 이를 라플라시안 필터 마스크라고 한다. 왜 이차미분을 사용할까? 일차 미분 시, 외곽선(Edge) 부근에서 픽셀의 값이 뛰는 것을 확인할 수 있다. 이차 미분을 이용하면 에지의 중심 부분을 찾을 수 있다... 2021. 9. 30.