반응형

분류 전체보기 138

파이썬 openCV 7. 히스토그램 평탄화(Histogram equalization)

파이썬 openCV 7번째 강의는 히스토그램 평탄화(Histogram equalization)입니다. 히스토그램 평탄화는 히스토그램 평활화, 히스토그램 균등화라고도 부릅니다. 평탄화는 이름처럼 히스토그램을 평평하게 만들어 주는 작업이라고 할 수 있습니다. 0. 히스토그램 평탄화? 일반적인 이미지는 괜찮지만, 이미지 중에 히스토그램이 특정 영역에 집중되어 있을 수 있습니다. 그럴 때 히스토그램 평탄화를 통해 히스토그램이 집중되어있는(히스토그램 그래프에서 한쪽이 높은) 부분을 평평하게 만들어줄 수 있는 거죠. 설명만 들으면 명암대비 스트레칭과 비슷한 부분이 있다고 느껴지실 겁니다.(아니면 어쩔 수 없고요) 실제로 히스토그램 스트레칭과 비슷한 효과를 줄 수 있지만 결과는 조금 다릅니다. 1. openCV에서의..

파이썬 openCV 6. end-in 기법

파이썬 openCV 6번째 강의는 전 강의에서 이어지는 스트레칭의 기법 중 하나인 end-in 기법입니다. 스트레칭에 대한 정보를 더 보고 싶으시면 이전 강의를 참조해주세요! 2020/11/16 - [파이썬/openCV] - 파이썬 openCV 5. 명암대비 스트레칭(streching) 파이썬 openCV 5. 명암대비 스트레칭(streching) 파이썬 openCV 5번째 강의는 명암대비 스트레칭입니다. 여러분들도 근육이 뭉쳤을때 스트레칭을 통해 근육을 풀어주곤 하죠? 이미지도 마찬가지로 스트레칭이 가능한데요. 이번 시간에 스트레칭 marisara.tistory.com 0. end-in 기법? end-in 기법은 스트레칭 기법을 적용하면서, 조건을 달아주는 것입니다. 조건은 양 끝 값의 일정 부분을 잘..

파이썬 openCV 5. 명암대비 스트레칭(streching)

파이썬 openCV 5번째 강의는 명암대비 스트레칭입니다. 여러분들도 근육이 뭉쳤을때 스트레칭을 통해 근육을 풀어주곤 하죠? 이미지도 마찬가지로 스트레칭이 가능한데요. 이번 시간에 스트레칭중 명암대비 스트레칭 기법을 알려드리겠습니다. 0. 스트레칭? 사람은 스트레칭을 할 때 근육을 쭉 늘리면서 스트레칭을 하죠? 이미지의 스트레칭은 이미지의 명암(밝고 어두움)을 쭈욱 늘려서 명암의 분포를 넓게 만드는 작업을 말합니다. 스트레칭의 방법으로는 명암대비 스트레칭과 엔드-인 기법의 두가지 방식이 대표적이며, 이번 시간에는 명암대비 스트레칭에 대해서 알려드리려고 합니다. 스트레칭을 알기 전에 히스토그램을 먼저 설명을 하고 가야되는데요. 히스토그램은 원래 도수분포표를 그래프의 형태로 나타낸 것을 말합니다. 위 사진이..

파이썬 openCV 4. 범위 강조

파이썬 openCV 4번째 강의는 영상 범위 강조 입니다. 뭔가 다른분들의 강의글과 다르게 순서가 뒤죽박죽인것같지만 저는 이 순서대로 배워서 이 순서가 익숙하네요. 그럼 강의 시작합니다. 0. 범위 강조? 범위 강조란, 이름 그대로 일정 범위의 화소만 두드러지게 만드는 방법입니다. 이렇게 하면 명함 대조가 뚜렷해져서 해당 부분이 도드라져 보이게 됩니다. 범위 강조는 딱히 설명할게 없으니 바로 코드 설명 들어가겠습니다. 1. openCV에서의 범위 강조 우선 범위 강조를 하려면 범위가 필요하겠죠? 그래서 강조할 범위를 입력 받습니다. high = int(input("최댓값 : ")) low = int(input("최솟값 : ")) 그리고 이미지를 불러와줍니다. img = cv2.imread("lenna.p..

파이썬 openCV 3. 색 반전(color inversion)

파이썬 openCV 3번째 강의는 색 반전입니다. 색반전은 요즘에는 잘 사용되지 않는 네거티브 필름에 사용되던 기술입니다. 옛날 카메라에 들어있는 필름통을 살펴보면 검은색 셀로판같은게 말려있는데, 그게 네거티브 필름이지요. 요즘에는 디지털카메라나 스마트폰 카메라로 사진을 찍기에, 잘 사용되지 않는 기술이지만 oepnCV에서 어떤 원리인지 살펴 보겠습니다. 0. 색 반전(color inversion)? 위와 같은 사진을 보신적이 있으신가요? 옛날 세가의 소닉 매니아의 사진을 색 반전한 사진입니다. 요즘 스마트폰 카메라에도 네거티브 필터로 사진을 찍으면 저렇게 나오죠. 색 반전 또는 네거티브는 가장 밝은색이 반대로 가장 어두운 색이 되고, 가장 어두운색이 반대로 가장 밝은 색이 되는 현상에 의해 붙여진 이름..

파이썬 openCV 2. 감마 보정(Gamma Correction)

파이썬 openCV의 두 번째 강의 감마보정(Gamma Correction)입니다. 원래 사람의 눈은 컴퓨터가 처리하는 밝기와 다르게 반응합니다. 그래서 어두운곳은 0, 밝은곳을 255로 아무 보정 없이 매칭하게 되면 사람의 눈은 부자연스럽게 느끼게 되는데요. 그래서 나온것이 바로 감마 보정입니다. 감마 부호화(gamma encoding)가 더 맞는 표현이라고 하지만, 우리가 배울때는 감마 보정이라고 배우잖아요? 그래서 저도 감마 보정이라고 하겠습니다. 0. 감마 보정 감마 보정의 공식은 단순하게 쓰면 Output = Input^gamma 라고 할 수 있습니다. 감마값이 1을 기준으로 높으면 어두워지고, 낮으면 밝아지는 구조이죠. 1. openCV에서의 감마 보정 openCV에서 감마보정을 할때 단순히 ..

파이썬 openCV 1. 이진화(binarization, thresholding)

파이썬 openCV의 첫 번째 강의 이진화(binarization, thresholding)입니다. 이진화는 이름에서 알 수 있듯이, 영상(사진)을 이진법처럼 두 가지로만 분류하는 것입니다. openCV에서 이진화는 기존의 영상을 검은색과 흰색으로만 이루어진 영상으로 바꾸어주는 작업을 말합니다. 이때 흰색은 0, 검은색은 255를 의미합니다. 0. 왜? 사실 이유는 여러 가지의 중요한 이유가 있지만, 가장 중요한 이유는 어떠한 경곗값을 기준으로 이진화를 시키면 물체가 뚜렷해지기 때문입니다. 위 사진처럼 일정 색 이하는 전부 흰색으로 처리하면 글자가 매우 선명하게되죠? 또한 이렇게 만들면 처리해야 될 화소가 줄어들기에 영상의 용량도 줄어듭니다. 1. 시작 우선 전에 알려드렸다시피 가장중요한 cv2모듈을 i..

파이썬 openCV 0. openCV란?

안녕하세요. 이번에 파이썬을 이용한 openCV에 대해서 시리즈를 써보려고 합니다. 우선 openCV가 무엇인지와 파이썬에서 어떻게 사용할 수 있는지에 관해서 써보려고 합니다. 1. openCV 우선 위키백과에서 openCV의 정의는 " OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 원래는 인텔이 개발하였다. 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다 "이지만, 이걸 보는 여러분들은 대부분 관심이 없으실 겁니다. 그래서 가장 간략하게 설명하자면, 실시간 이미지 처리 기술이라고만 아셔도 충분하실 겁니다. 어차피 그 이상은 전문가용의 설명이고, 이 글을 보시는 여러분들은 전혀 관심이 없으실 테니까요. 2. 파이썬에서의 o..

반응형