프로그래밍/Python
-
Computer Vision(Gaussian Filtering)[4]-Hybrid Image프로그래밍/Python 2020. 4. 20. 13:25
저번 시간에 Color로 blur된 아인슈타인을 출력해보았다. 이번 시간에는 high frequency image를 출력해 이 두 사진을 합성하는 hybrid Image를 출력해보겠다. 먼저 high frequency image를 만드는 함수이다. High Frequency Image 코드 간단하다. Image에 low frequency를 제거하면 high freqeuncy가 남는데 이를 이용한 것이다. 128을 더해주는 이유는 negative value에 대한 방지이다. 가능한 value의 범위의 mean 값을 더해주면 된다. 다음은 이 high frequency image를 출력하는 코드이다. 실행 코드 실행 결과 이렇게 high frequency만 남은 Image가 출력이 된다. 이제 Low fre..
-
Computer Vision(Gaussian Filtering)[3]프로그래밍/Python 2020. 4. 20. 13:07
이번 시간에는 Color(RGB)로 Blurring한 이미지를 출력해보겠다. 처음 이 문제를 풀 때는 머리가 하얬다. '2차원 배열에 RGB를 넣으려면 어떻게 해야하지?' 라는 생각이 맴돌았다. 해결 방법은 3차원 배열이었다. [행][열][RGB] 라는 배열을 사용하면 간단했다. gaussian filter와 convolve 할 함수를 만들어보았다. Convolve Color 코드 zero-padding을 할 때, 3차원의 RGB에는 padding을 해 줄 필요가 없기 때문에 (0,0)으로 패딩을 시키지 않는다. 이를 rot90() 함수를 통해 180도 회전시키고, RGB가 추가된 배열을 선언한다. 이 배열의 각 R, G, B에 맞게 각각 연산을 해주었다. 세 번 수행하는 for loop를 사용해도 되지..
-
Computer Vision(Gaussian Filtering)[2]프로그래밍/Python 2020. 4. 20. 12:27
30분 넘게 글 쓰다가 인터넷이 팅겨서 다시 씁니다... 정말 성심성의껏 글쓰고 있었는데 이렇게 날라가니까 슬프네요... -------------------------------------------------------------------- 저번 시간에 앞서서 우리는 gaussian filter를 만들었다. 이번 시간에는 convolve 함수와 이미지를 사용하여 실제로 블러된 이미지를 출력하는 시간을 가지도록 하겠다. convolve 코드 필터의 크기로 부터 padding 시켜야 하는 정도가 구해진다. pad함수에 constant라는 zero-padding 파라미터를 넣어 이미지를 zero-padding 시킨다. 위의 그림은 convolution 방법이다. 즉, w * f는 blur처리된 이미지의 한..
-
Computer Vision(Gaussian Filtering)[1]프로그래밍/Python 2020. 4. 20. 00:57
Gaussian filtering을 통해 이미지 블러링을 하는 문제가 있었다. 먼저 Numpy에 대한 기본적인 지식이 필요했지만, 6년만에 잡아보는 파이썬에 for loop조차 돌리지 못하는 나를 보게되었다. 그래서 나는 하루를 python에 투자하기로 했다. Blurred Image 먼저 blurring된 이미지를 얻기 위해서는 Image *(convolution) Gaussian Filter 를 통해 low pass filter를 얻을 수 있다. 이 low pass filtered image를 우리는 일반화 하여 블러링된 이미지라고 부른다. 이번 시간에는 이 컨벌루션에 사용되는 Gaussian Filter를 구하는 시간을 가져보도록 하겠다. Gauss Filter(1 dimension) 코드 결과 값..