본문 바로가기
  • 紹睿: 자유롭고 더불어 사는 가치있는 삶

Project/데이터 가지고 놀기11

pixel-art :: openCV 기초 (4) - 이미지 임계처리 이미지 임계처리에는 simple thresholding, adaptive thresholding, Otsu's thresholding가 있다. opencv에서는 cv2.threshold(), cv2.adaptiveThreshold()를 이용하면된다. 간-단 기본 임계처리 이진화 처리: 흑/백으로 분류하여 처리하는 것기준이되는 임계값을 정하는 것이 중요하다. 임계값 보다 크면 백, 작으면 흑이 된다.cv2.threshold(src, thresh, maxval, type) → retval, dstsrc – input image(grayscale 이미지)thresh – 임계값maxval – 임계값을 넘었을 때 적용할 valuetype – thresholding typecv2.THRESH_BINARYcv2.TH.. 2018. 3. 6.
pixel-art :: openCV 기초 (3) - 이미지 연산 opencv를 이용한 이미지의 더하기 방법1. cv2.add()방법2. numpy 연산 (img1+ img2) 이 두가지의 차이는 cv2.add()는 saturation 연산을 이용하고numpy는 modulo연산을 한다는 점이다. saturation 연산은 한계값을 정하고 그 값을 벗어나는 경우 모두 특정값으로 나타내는 경우로 이미지에서 0 이하는 모두 0, 255 이상은 모두 255로 표현된다.modulo 연산은 a와 b는 n으로 나눈 나머지 값이 같다는 의미로 이미지에서는 연산의 결과가 256보다 큰 경우 256로 나눈 나머지 값으로 결정한다. 코드를 통해 살펴보면 다음과 같다. 1234567891011121314151617181920212223import cv2import numpy as npfro.. 2018. 3. 6.
pixel-art :: openCV 기초 (2) - pixel 접근 및 이미지 복사 openCV는 기본적으로 이미지가 3차원 행렬로 생성 된다.(grayscale일 때는 행과 열로만 구성) image1.jpeg1. image에 대한 기본 속성은 아래와 같이 확인할 수 있다.123456789print(img.shape)# (669, 669, 3)# grayscale의 경우 행과 열만 retrun됨 print(img.size)# 1342683 print(img.dtype)# uint8cs 2. image에 특정 pixel에 접근이 가능하다. 123456789px1 = img[1, 0]print(px1)#[101 166 172] # 1(행), 0(열)의 색값이 101(R), 166(G), 172(B)을 확인할 수 있다.#Blue만 확인하고 싶을 경우b = img[1, 0, 2]print(b).. 2018. 2. 8.
picel-art :: openCV 기초 (1) - 이미지를 불러오자 openCV 기초 (1) - 이미지 불러오기 이미지 불러오는 것은 간단하다. 이 사진을 이용할 껀데, 'pic/image1.jpeg'자리에 사진이 있는 경로이름을 적어주면 끝난당. 1234567891011121314import cv2import numpy as npfrom matplotlib import pyplot as plt img = cv2.imread('pic/image1.jpeg', cv2.IMREAD_COLOR)gray = cv2.imread('pic/image1.jpeg', cv2.IMREAD_GRAYSCALE)unchange = cv2.imread('pic/image1.jpeg', cv2.IMREAD_UNCHANGED) images = [img, gray, unchange]titles = .. 2018. 2. 8.
pixel-art :: 하고싶은 것 정의(1) 최근에 폰게임 "pixel-art"를 하면서 해보고싶은 프로젝트가 생겼다. Pixel Art 그냥 단순하게 숫자에 맞게 색칠하는 게임인데, 생각보다 시간 때우기로 좋다.(아무 생각없이 하다보면 몇시간 지나가 있음..) 이걸 하다 보니까, 내가 원하는 사진도 pixel art처럼 나타내서, 색칠해 보고싶다는 생각이 들었다. 그래서, 마음을 다 잡고 사진을 pixel art그림처럼 바꿔보는 작업을 시작해 보려고 한다. 지금 생각하는 간단한(?) 순서는 1. 사진을 받는다.2. 원하는 형태만 남기고 지운다.3. 그림처럼 사진을 바꾼다. 이렇게 인데, 여기서 해결해야 되는 일들은2.3번인 것같다. 3번이 제일 고민인데 해보면 알게 되겠지 룰루 python openCV를 이용할 예정이고,openCV tutoria.. 2018. 2. 7.