반응형

파이썬 52

파이썬 openCV 12. 엠보싱 기법(embossing)

파이썬 openCV 12번째 강의는 엠보싱 기법(embossing)입니다. 이번 강의도 중첩 for문을 사용하는 방식과, 내장 함수를 사용해서 시간을 단축시키는 방법이 있습니다. 이번 강의부터는 최대한 중첩 for문을 지양하고, 내장 함수를 사용하는 방식으로 강의하도록 하겠습니다. 0. 엠보싱? 위키백과상의 엠보싱은 "엠보싱 (embossing) 은 직물, 종이, 금속 등의 표면에 돋을새김으로 무늬를 찍어내는 가공 방법." 으로 설명하고 있습니다. 사전적 정의로 파고들기에는 말이 어려우므로 예시로 설명하겠습니다. 엠보싱은 이처럼 무언가에 입체감이 느껴지게 만드는 방식입니다. 엠보싱은 위 사진처럼 주변에 비해 튀어나오게 하는 방식과(엠보싱), 주변에 비해 들어가게 하는 방식(디보싱)이 있습니다. 대부분의 ..

파이썬 oepnCV 11. 비트 연산 (bitwise operation)

파이썬 openCV 11번째 강의는 비트 연산 (bitwise operation)입니다. 기본적으로 비트 연산은 openCV에서 자체적으로 지원하는 연산이기도 하고, 원리도 그렇게 어렵지 않으니 자체 지원 함수를 사용하여 빠르게 넘어가겠습니다. 0. 비트 연산 (bitwise operation)? 1비트는 0과 1로 이루어진 디지털 세계에서의 최소 단위입니다. 하지만 기본적인 영상은 R, G, B로 이루어진 0부터 255 사이의 값을 가진 3차원 행렬입니다. 그레이 스케일을 예시로 들어도 0부터 255를 가진 1차원 행렬입니다. 즉 비트와는 크게 상관이 없다는 이야기입니다. 하지만 우리는 이전에 영상을 이진법처럼 분류하는 방법을 배운 적이 있습니다. 2020/11/14 - [파이썬/openCV] - 파이..

파이썬 openCV 10. 가우시안 노이즈(Gaussian Noise)

파이썬 openCV 10번째 강의는 가우시안 노이즈(Gaussian Noise)입니다. 이번 강의에서는 가우시안 노이즈를 생성하는 방법과, 이미지 평균 연산을 통한 가우시안 노이즈 제거 방법을 동시에 알려드리겠습니다. 0. 가우시안 노이즈? 우선 가우시안 노이즈가 무엇인지 알려드리겠습니다. 이런 식으로 사진이 지지직 거리는 느낌의 이미지를 보신 적이 있으실 겁니다. 이런 잡음을 가우시안 노이즈라고 합니다. 이름이 가우시안 노이즈인 이유는, 이름처럼 가우스 함수에 따른 분포(가우시안 분포)를 따르고 있기 때문에 가우시안 노이즈라고 이름 붙여졌습니다. 가우시안 분포는 위의 공식으로 나타냅니다. 하지만 우리는 이런 공식 따위 알 필요는 없고, 그저 저런 공식에 따르는 잡음이라고만 생각하셔도 좋을 것 같습니다...

파이썬 openCV 9. 산술 연산(arithmetic operation)

파이썬 openCV 9번째 강의는 산술 연산입니다. 산술 연산은 매우 쉬운편에 속하니 빠르게 진행하겠습니다. 0. 산술 연산? 산술연산은 총 3가지 종류가 있습니다. 일반적인 덧셈 연산, 가중치를 줘서 연산하는 알파 연산, 일반적인 뺄셈 연산이 있습니다. 여기서 눈치 채신 분들도 있으시겠지만, 산술 연산은 그저 더하기 빼기 입니다. 이미지를 곱하거나 나눌수는 없으니 더하기 빼기로 이미지를 조작하는걸 말하는겁니다. 1. openCV에서의 산술 연산 산술연산은 그저 더하기 빼기이니 빠르게 코드 설명부터 들어가겠습니다. 그리고 이번 강의에서는 두개의 이미지 크기가 같다는 전제 하에 가능한 코드입니다. 두 이미지 크기가 다르다면, 조금 더 작업이 필요합니다. img1 = cv2.imread('lenna.png'..

파이썬 openCV 8. 히스토그램 명세화(histogram specification)

파이썬 openCV 8번째 강의는 히스토그램 명세화입니다. 히스토그램 명세화는 히스토그램 평활화와 같이 명암대비를 개선시키는 기법 중 하나입니다. 하지만 명세화는 평활화와는 완전히 다른 방법으로 명암대비를 개선시키며, 이는 평활화 때보다 더 긴 코드가 필요합니다. 0. 히스토그램 명세화? 히스토그램 명세화는 사실 명암대비를 개선시키는 방법이라기보다는 영상의 히스토그램을 사용자가 원하는 모양으로 바꿀 때 쓰는 기법입니다. 하지만 명암대비가 이상한 영상을 만들려고 하는 사람은 잘 없겠죠? 그래서 히스토그램이 한쪽으로 치우친 영상을 사용자가 원하는 모양대로 만들어준다면 명암대비가 개선되기에 명암대비를 개선시키는 기법이라 할 수 있습니다. 히스토그램 명세화의 기본 원리를 간단하게 설명하면 다음과 같습니다. 1...

파이썬 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)? 위와 같은 사진을 보신적이 있으신가요? 옛날 세가의 소닉 매니아의 사진을 색 반전한 사진입니다. 요즘 스마트폰 카메라에도 네거티브 필터로 사진을 찍으면 저렇게 나오죠. 색 반전 또는 네거티브는 가장 밝은색이 반대로 가장 어두운 색이 되고, 가장 어두운색이 반대로 가장 밝은 색이 되는 현상에 의해 붙여진 이름..

반응형