반응형 분류 전체보기83 OpenCV Python 영상 파일 I/O 처리 이미지 파일 처리 함수 설명 cv2.imread(filename[, flags]) >> retval 지정한 영상 파일로 부터 영상을 적재한 후, 행렬로 반환한다. 인수 설명 filename 적재할 영상 파일 이름(디렉터리 구조(폴더 위치) 포함) flags 적재한 영상을 행렬로 반환될 때 컬러 타입을 결정하는 상수 cv2.imwrite(filename, img[, params]) >> retval 설명 : img 행렬을 지정한 영상파일로 저장한다. 인수 설명 filename 저장할 영상파일 이름(디렉터리 구조(폴더 위치) 포함), 확장자명에 따라 영상파일 형식 결정 img 저장하고자 하는 행렬(영상) params 압축 방식에 사용되는 인수 쌍(paramld, paramValue) 영상파일 읽기 소스 코드.. 2022. 10. 6. c++ 백준 2747 피보나치 수 피보나치 수 알고리즘 분류 구현 문자열 https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8,.. 2022. 9. 25. c++ 백준 9086 문자열 문자열 알고리즘 분류 구현 문자열 https://www.acmicpc.net/problem/9086 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 문제 문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다. 출력 각 테스트 케이스.. 2022. 9. 25. c++ 백준 10178 할로윈의 사탕 할로윈의 사탕 알고리즘 분류 수학 사칙연산 https://www.acmicpc.net/problem/10178 10178번: 할로윈의 사탕 할로윈데이에 한신이네는 아부지가 사탕을 나눠주신다. 하지만 한신이의 형제들은 서로 사이가 좋지않아 서른이 넘어서도 사탕을 공정하게 나누어 주지 않으면 서로 싸움이 난다. 매년 할로윈 www.acmicpc.net 문제 할로윈데이에 한신이네는 아부지가 사탕을 나눠주신다. 하지만 한신이의 형제들은 서로 사이가 좋지않아 서른이 넘어서도 사탕을 공정하게 나누어 주지 않으면 서로 싸움이 난다. 매년 할로윈데이때마다 아부지는 사탕을 자식들에게 최대한 많은 사탕을 나누어 주시기 원하며 자신에게는 몇개가 남게되는지에 알고 싶어 하신다. 이런 아부지를 도와서 형제간의 싸움을 막아보자... 2022. 9. 24. 영상의 특징 검출 기법 엣지(Edge) 엣지(Edge, 경계선)는 영상의 두드러진 경계 영역으로 영상 내 물체에 대한 모양, 크기, 텍스쳐 등의 많은 정보를 알려준다. 일반적으로 엣지는 영상 내 물체와 배경 같의 밝기값 차이(gradient, 그래디언트)가 갑자기 변하는 지점으로, 이 지점을 검출하기 위해서는 수학적으로 미분 연산자를 이용하면 된다. 엣지 검출 방법 엣지 검출을 위한 연산 방법 로버트 크로스 엣지 검출기(Roberts Cross Edge Detector) 소벨 엣지 검출기(Sobel Edge Detector) 프르윗 엣지 검출기(Prewitt Edge Detector) 캐니 엣지 검출기(Canny Edge Detector) 라플라시안 엣지 검출기(Laplacian Edge Detector) 엣지 검출을 위한 연.. 2022. 8. 23. 영상의 공간적 필터링 기법 - 언샤프 필터링(Unsharp Filtering) 공간적 필터링 기법은 각각의 목적에 따라 적절한 커널(kernel) 혹은 필터(filter)를 정의하고 원본 영상과 컨벌루션(convolution) 연산을 수행하는 것이 일반적이다. 컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치에 해당하는 픽셀값과 곱하고 모든 값들을 더한값으로 대체하는 방법이다. 평균 필터링(Mean Filtering) 중간값 필터링(Median Filtering) 가우시안 필터링(Gaussian Filtering) 보존 스무딩(Conservative Smoothing) 언샤프 필터링(Unsharp Filtering) 언샤프 필터링이란? 언샤프 필터링은 영상의 에지와 같은 고주파 성분을 강조(enhancing)하는 필터링 방법으로 선명하지 않은(blurred) 영상의 .. 2022. 8. 12. 영상의 공간적 필터링 기법 - 보존 스무딩(Conservative Smoothing) 공간적 필터링 기법은 각각의 목적에 따라 적절한 커널(kernel) 혹은 필터(filter)를 정의하고 원본 영상과 컨벌루션(convolution) 연산을 수행하는 것이 일반적이다. 컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치에 해당하는 픽셀값과 곱하고 모든 값들을 더한값으로 대체하는 방법이다. 평균 필터링(Mean Filtering) 중간값 필터링(Median Filtering) 가우시안 필터링(Gaussian Filtering) 보존 스무딩(Conservative Smoothing) 언샤프 필터링(Unsharp Filtering) 보존 스무딩(Conservative Smoothing) 보존 스무딩은 입력 영상의 픽셀 값이 주변 픽셀과 비교했을 때 너무 높거나 너무 낮은 경우 잡음으.. 2022. 8. 11. 넘파이(Numpy) 구조, 차원을 변경, numpy.reshape 함수 편리하게 배열과 차원을 변형해주는 reshape resahpe 함수는 np.reshape(변경할 배열이름, 차원)또는 배열이름.reshape(차원)으로 사용할 수 있다. 현재의 배열의 차원을 변경하여 행렬을 반화하거나 하는 경우에 많이 이용 되는 함수이다. 예제 소스 코드 1차원 배열을 2차원 배열로 변환 1차원 배열을 3차원 배열로 변환 넘파이 배열의 reshape 함수는 np.reshape(변경할 배열이름, 차원)또는 배열이름.reshape(차원) 두 가지 방법이 있는데 np.reshape는 리스트에도 적용되지만 배열이름.reshape(차원)은 일반 리스트에는 적용 안되고 넘파이 배열의 차원을 바꿀때 사용할 수 있다. 인덱싱도 확인할 수 있는데 위처럼 b[0]을 확인한 결과 값을 알 수 있고, b[0.. 2022. 8. 10. Numpy란 무엇인가?(넘파이의 이해) Numpy(넘파이) 소개 리스트는 많은 데이터를 관히 할 때 속도가 느리고 메모리를 많이 차지하는 단점이 있다. 배열(array)를 사용하면 적은 메모리로 많은 데이터를 빠르고 편리하게 처리 할 수 있다. 배열과 리스트는 비슷하지만 다음과 같은 점에서 다르다. 모든 원소가 같은 자료형이어야 한다. 원소의 갯수를 바꿀 수 없다. Numpy는 수치 해석용 Python 패키지이다. 다차원의 행렬 자료구조인 ndarray를 지원하여 벡터와 행렬을 사용하는 선형대수 계산에 주로 사용된다. C로 구현된 CPython에서만 사용할 수 있다. Numpy 배열 연산은 C로 구현된 내부 반복문을 사용하기 때문에 파이썬 반복문에 비해 속도가 빠르며 벡터화 연산(vectorized operation)을 이용하여 간단한 코드로.. 2022. 8. 9. 영상의 공간적 필터링 기법 - 가우시안 필터링(Gaussian Filtering) 공간적 필터링 기법은 각각의 목적에 따라 적절한 커널(kernel) 혹은 필터(filter)를 정의하고 원본 영상과 컨벌루션(convolution) 연산을 수행하는 것이 일반적이다. 컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치에 해당하는 픽셀값과 곱하고 모든 값들을 더한값으로 대체하는 방법이다. 평균 필터링(Mean Filtering) 중간값 필터링(Median Filtering) 가우시안 필터링(Gaussian Filtering) 보존 스무딩(Conservative Smoothing) 언샤프 필터링(Unsharp Filtering) 가우시안 필터링(Gaussian Filtering) 가우시안 필터링은 가우시안 분포(Gaussian distribution)를 따르는 가우시안 커널을 이.. 2022. 8. 7. 영상의 공간적 필터링 기법 - 중간값 필터링(Median Filtering) 공간적 필터링 기법은 각각의 목적에 따라 적절한 커널(kernel) 혹은 필터(filter)를 정의하고 원본 영상과 컨벌루션(convolution) 연산을 수행하는 것이 일반적이다. 컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치에 해당하는 픽셀값과 곱하고 모든 값들을 더한값으로 대체하는 방법이다. 평균 필터링(Mean Filtering) 중간값 필터링(Median Filtering) 가우시안 필터링(Gaussian Filtering) 보존 스무딩(Conservative Smoothing) 언샤프 필터링(Unsharp Filtering) 중간값 필터링 중간값 필터링은 입력 영상의 현재 픽셀을 중심으로 커널을 씌우고, 커널 안에 포함된 주변 픽셀들을 밝기값 기준으로 정렬하여 중간에 위치한 .. 2022. 8. 6. 영상의 공간적 필터링 기법 - 평균 필터링(Mean Filtering) 공간적 필터링 기법은 각각의 목적에 따라 적절한 커널(kernel) 혹은 필터(filter)를 정의하고 원본 영상과 컨벌루션(convolution) 연산을 수행하는 것이 일반적이다. 컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치에 해당하는 픽셀값과 곱하고 모든 값들을 더한값으로 대체하는 방법이다. 평균 필터링(Mean Filtering) 중간값 필터링(Median Filtering) 가우시안 필터링(Gaussian Filtering) 보존 스무딩(Conservative Smoothing) 언샤프 필터링(Unsharp Filtering) 평균 필터링 평균 필터링은 입력 영상의 픽셀 밝기 값을 주변 픽셀들의 밝기값의 평균으로 대체하여 영상을 수무딩(Smoothing) 시키면서 잡음을 줄이는.. 2022. 8. 5. 영상의 화질 향상 기법-히스토그램 스트레칭(Histogram Stretching), 히스토그램 평활화(Histogram Equalization) 화질 향상 기법 히스토그램(Histogram) 만들기 임계값 적용하기(Thresholding) 전역 임계값 적용하기(Global Thresholding) 적응적 임계값 적용하기(Adaptive Thresholding) 히스토그램 스트레칭(Histogram Stretching) 히스토그램 평활화(Histogram Equalization) 히스토그램 스트레칭이란? 영상의 밝기값 범위를 확장(또는 축소) 시킴으로써 영상의 대비(contrast)를 향상시키는 방법을 말한다. 이 방법은 히스토 그램 평활화(Histogram Equalization) 방법과는 다르게 영상 픽셀들에 대해 선형 확장 함수(Linear scaling function)를 적용하여 구현 할 수 있다. 히스토그램 스트레칭 알고리즘 영상을 정규.. 2022. 8. 4. (C++) Array std::array std::array는 고정된 크기의 배열을 담고 있는 컨테이너입니다. 이 컨테이너는 마치 C언어에서의 배열인 T[N]과 비슷하게 작동하고 배열과 같이{}를 통해 초기화를 할 수 있습니다. 다만 한 가지 차이점은 C배열과는 다르게 배열의 이름이 T*로 자동 형변환 되지 않는다는 차이점이 있습니다. std::array를 통해서 기존의 C 배열과 같은 형태를 유지하면서 (오버헤드가 없습니다), C++ 에서 추가된 반복자라던지, 대입 연산자 등을 사용할 수 있습니다.(또한 algorithm헤더파일에 정의된 함수 등을 사용할 수 있다는 장점도 있습니다,) 생성자 std::array는 Aggregate 타입이기 때문에 aggregate 초기화 방식으로 사용합니다. 하나 하나 대입하며 초기화를 할.. 2022. 8. 2. 영상의 화질 향상 기법-적응적 임계값 적용하기(Adaptive Thresholding) 화질 향상 기법 히스토그램(Histogram) 만들기 임계값 적용하기(Thresholding) 전역 임계값 적용하기(Global Thresholding) 적응적 임계값 적용하기(Adaptive Thresholding) 히스토그램 스트레칭(Histogram Stretching) 히스토그램 평활화(Histogram Equalization) 적응적 임계값 적용하기(Adaptive Thresholding) 전역 임계값 적용 방법은 모든 픽셀에 대해 동일한 임계값을 적용하는 방식으로 영상이 전경과 배경으로 확연히 구분될 경우 매우 뒤어난 성능을 발휘한다. 하지만 영상 안에 조명이 일정하지 않거나 다양한 색상을 가지는 전경 물체가 있을 경우 하나의 임계값만으로 전경과 배경을 구분하는 것은 쉽지 않다. 따라서 이러한.. 2022. 7. 27. 영상의 화질 향상 기법-임계값 적용하기(Thresholding) 화질 향상 기법 히스토그램(Histogram) 만들기 임계값 적용하기(Thresholding) 전역 임계값 적용하기(Global Thresholding) 적응적 임계값 적용하기(Adaptive Thresholding) 히스토그램 스트레칭(Histogram Stretching) 히스토그램 평활화(Histogram Equalization) 임계값 적용하기(Thresholding) 임계값 적용하기(Thresholding)란? 전경 영역과 배경 영역의 밝기 차이나 색상 차이를 이용하여 영상의 배경으로 부터 전경 영역들을 분리할 수 있는 가장 기본적인 방법이다. Threshold : 이미지를 이진화하여 흑/백으로 나누는 기술 소스 코드 예제에서 임계값을 추출할때 140보다 작을때를 기준으로 했지만 실제 140으로.. 2022. 7. 26. 영상의 화질 향상 기법- 전역 임계값 적용하기(Global Thresholding) 화질 향상 기법 히스토그램(Histogram) 만들기 임계값 적용하기(Thresholding) 전역 임계값 적용하기(Global Thresholding) 적응적 임계값 적용하기(Adaptive Thresholding) 히스토그램 스트레칭(Histogram Stretching) 히스토그램 평활화(Histogram Equalization) 전역 임계값 적용하기(Global Thresholding) 영상으로부터 적절한 임계값을 매번 인위적으로 결정한다는 것은 매우 어려운 일입니다. 따라서 임계값을 자동으로 결정하기 위한 방법으로 전역 임계값 적용 방법을 소개하려고 합니다. 전역 임계값 적용 방법은 영상을 두 개의 그룹으로 분할하고 각 그룹마다 평균값을 계산하여 이 값들을 임계값 계산에 적용하는 방법을 사용합니.. 2022. 7. 26. C++ 백준 11931 수 정렬하기 4 https://www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 내림차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 내림차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 해당 문제.. 2022. 7. 25. 이전 1 2 3 4 5 다음 반응형