Tech이야기~!
welcom 자세히보기

Computer/OpenCV 9

두개의 이미지를 비교

대용량 이미지 데이터베이스에서 물체의 이미지를 검색 구글의 이미지 검색이나 보안을 담당하는 기관의 지문 데이터베이스에서 사람의 지문을 검색 데이터베이스에서 다른 모든 이미지와 이미지의 단순한 차이만 을 교려한다면, 이미지에 왜곡이나 작은 변화가 있기 때문에 대응되더라도 원하는 값을 얻을 수 없을 것이다. 그러면 이 문제를 어떻게 해결할 수 있을 까? 데이터베이스에서 다른 모든 이미지와 이미지의 단순한 차이만 을 고려한다면 이미지에 왜곡이나 작은 변화가 있기 때문에 대응되더라도 원하는 값을 얻을 수 없을 것이다. 색상, 크기, 회전각도, 아핀변환affine transformation과는 무관하게 이미지를 설명할 수 있는 방법이 필요하다. 코너검출(헤리스코너) 직렬형 분류기(지역 이전 패턴 LBP, Loca..

Computer/OpenCV 2019.12.25

[Opencv] 이미지 필터_도형 검출(선)

Hough변환으로 이미지에서 이런 특정 모양을 검출 특정 모양을 파라미터화하고 이미지에서 모양을 찾는 일반적인 프레임 워크 직선 이미지에 있는 선들의 기울기와 상수를 찾을려 한다. 이미지 속에 있는 두 점이 주어졌을 때, 직선의 방정식을 다음과 같이 표현 선의 기울기와 y축과 만나는 지점을 계산한다. * 확률적 Hough 직선이라 불리는 Hough직선의 다른 변형이 있다. 기본적으로 같은 일을 하지만, 직선 파라미터를 계산할 때는 다른 접근법을 사용, 더 복잡한 수학이 필요하다. from skimage.data import checkerboard import numpy as np import cv2 from matplotlib import pyplot as plt img = checkerboard() r..

Computer/OpenCV 2019.12.16

ValueError: Image is not numeric, but ndarray.

문제는 png,jpg,etc 픽셀 유형이 다름 니다. 예를들어 pngsms uint8이라는 것입니다. *img_as_bool을 적용하면 부울 배열이 생깁니다. canny를 사용함으로써 방향성 즉, 유형이 불일치가 발생합니다. 그리고 이러한 유형의 불일치는 오류를 생성합니다. uint8로 변환해야합니다. Alex가 img_as_uint 함수를 사용하는 것이 좋습니다. from skimage import io from skimage import feature from skimage import color img = io.imread("chapter02/image.jpg") img = color.rgb2gray(img) edge = feature.canny(img,3) io.imshow(edge) io.ims..

Computer/OpenCV 2019.12.16

[Opencv] 이미지 필터_가우시안필터

픽셀 값에 임의의 함수를 적용해 이미지를 향상시키는 것을 필터링이라고 한다. 픽셀 근처의 값을 이용해 픽셀 값으 ㄹ수정하는데 사용, 이것은 이미지 행렬에 커널로 합성곱으로써 이루어진다. 필터가 다르면 다른 종류의 커널을 만들 수 있다. 가우시안 블러 Gaussian blur 중간값 필터 median filter 팽창 dilation과 침식 erosion 커스텀 필터 custom filter 이미지 임계 처리 image thresholding 가우시안 스무딩 필터링 이란? - 가우시안 분포를 영상처리에 적용한 것 - 정규분포, 확률분포에 의해 생성된 잡음을 제거하기 위한 필터 (랜덤하게 분포된 영상의 잡음을 분석해보면 가우시안 분포를 보인다.) 가우시안 블러 Gaussian blur 가우시안 분포를 따르는..

Computer/OpenCV 2019.12.16

[OpenCV] 합성곱

[Engineering] - Convolution & Correlation 합성곱 커널 행렬의 해당 요소와 이미지 매트릭스의 곱의 합으로 정의한다. [영상처리에서 말하는 필터 연산을 의미] [ 종종, 필터는 커널이라고도 한다.] 주어진 커널(행렬)에 대해 이미지 행렬과 커널 행렬의 해당 요소를 곱한다. 곱해진 값을 이미지의 해당 픽셀을 중심으로 더한다. 새로운 빈(검은색)이미지에는 원본 이미지의 해당 픽셀을 곱한 값의 합을 할당한다. 그리고 원본이미지의 모든 픽셀에 대해 이 작업을 수행한다. 적용하는 곳에 따라 약간씩 변형된 이미지 합성곱 convolution이 있다.

Computer/OpenCV 2019.12.14

[Scikit-image] 색상 모듈, 그리기 모듈

색상 모듈 추가자료 Site https://scikit-image.org/docs/stable/api/skimage.color.html#skimage.color.convert_colorspace Module: color — skimage v0.16.1 docs The image in RGB format, in a 3-D or 4-D array of shape (.., ..,[ ..,] 3), or in RGBA format with shape (.., ..,[ ..,] 4). scikit-image.org 라이브러리의 이 모듈은 한 색상 공간에서 다른 색상 공간으로 이미지를 변경하는 함수들을 포함. Valid color spaces ‘RGB’, ‘HSV’, ‘RGB CIE’, ‘XYZ’, ‘YUV’, ‘..

Computer/OpenCV 2019.12.13

[Opencv with python] 이미지 향상_Pillow

이미지 향상에는이미지의 대비, 밝기, 색상 밸런스, 선명도 변경과 같은 작업이 포홤된다. Pillow패키지의 ImageEnhance모듈을 이용한다. 이미지 밝기 from PIL import Image from PIL import ImageEnhance #이미지 읽음 img = Image.open('image2.jpg') enhancer = ImageEnhance.Brightness(img) enhancer.enhance(2).show() #bright_img = enhancer.enhance(2) #bright_img.show() enhance()함수 float형 인자를 입력, 인자 값이 이미지의 밝기를 변경 1보다 작은 인자 값은 이미지의 밝기를 감소 1보다 큰 인자 값은 이미지의 밝기를 증가 1은 원..

Computer/OpenCV 2019.12.12

[Opencv with python] Imagine Cut, ROI_Pillow

ROI, Region of Interest 전체 이미지가 아닌 아미지의 특정 부분에서만 알고리즘을 실행하려는 경우. crop()함수 이미지 객체는 두 좌표게 (관심 있는 사각형의 왼쪽 위 꼭지점과 오른쪽 아래 꼭지점)을 입력으로 받고 잘려진 이미지를 반환. from PIL import Image img = Image.open('image.png') #ROI의 위치 dim = (100, 100, 400, 400) crop_img = img.crop(dim) crop_img.show()

Computer/OpenCV 2019.12.10