일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Convolution Neural Network
- convexhull
- python list
- tokenizing
- keras
- #영어
- tensorflow update
- python 알고리즘
- 영어
- findContours
- opencv SURF
- #실생활 영어
- 영어명언
- #1일1영어
- 딥러닝
- #English
- text2img
- 완전탐색
- python __init__
- object detection
- #opencv
- #일상영어
- c언어
- TensorFlow
- #프로젝트
- #Android
- word embedding
- #실생활영어
- 이미지 생성
- #영어 명언
- Today
- Total
목록02. Study/Computer Vision(openframworks&opencv) (37)
When will you grow up?
Morphology ->형태학이라는 뜻으로 어떠한 영상이 존재할경우 영상을 구성하는 요소나 변화 등을 분야라고 생각하시면 됨니다. 보통 잡음 제거하는 용도로 많이 사용됨니다. 물론 100프로 복원되지는 않습니다. 모폴로지 에는 erosion(침식) dilation(팽창) 이 가장 기본적인 형태학 연산자 입니다. 수학적 형태학의 기본 성분은 구조요소(structuring element)입니다.여기서 구조요소 기점(anchor point)라고도 불리는 화소의 구성으로 정의할수 있습니다. openCV 에서 제공되는 erode,dilate를 확인해보자. -----------------------------------------------------------------------------------------..
medianblur란 ? Noise filtering이라고도 칭하며, 중앙값 블러링을 나타낸다. openCV에서도 medianBlur함수를 제공해줍니다. medianBlur(inputArray,outputArray,ksize);//원본,medianblur될이미지,커널사이즈 로 사용될수 있습니다. 이번에는 openCV함수와 제가만든 median함수를 비교해보는 코딩을 해보겠습니다. 핵심 함수입니다. 이미지의 픽셀값을 얻어와 stl vector형으로 값을 다 넣어주며 각 중앙 값을 되돌려주는 함수입니다. Vec3b median(Mat_ &I) { Vec3b medVec3b; for (int k = 0; k < 3; k++) { vector q; for (int r = 0; r < I.rows; r++) { ..
Template matching? 도형 인식 과정에 의해서 주언 도형(템플릿과 일치하는 도형)을 화상에서 추출하는 조작. -출처 : http://terms.naver.com/entry.nhn?docId=1597785&cid=50376&categoryId=50376 말그대로 이미지가 같은 이미지인지 판단을 하는 것입니다. 주어진 작은 이미지가 존재하는지 찾아볼때 주로 사용됨니다. 작업과정 두 가지 주요 구성 요소가 필요합니다. 원본이미지 ,템플릿 이미지(비교 될 패치 화상) 일치하는 영역을 식벽하기 위해서 우리는 원본 이미지에 템플릿 이미지를 비교 합니다. 코드설명 입니다. //전역 변수로 원본이미지 매칭할 템플이미지 결과 이미지 및 변수로 이미지매칭 시킬 함수 선언Mat img; Mat templ; Ma..
bilateralFilter 란 ? 양방향 필터 라고 정의한다.스무딩 이미지 처리와 노이즈제거를 위한 가장 Advanced된 필터라고 정의되어 있다. 쉽게말해 윤곽선을 보존되면서 노이즈를 제거하지만 시간이 오래걸린다. opencv 에서 제공되는 bilateralFilter함수의원형은 아래와 같습니다. 출처 : 클릭자세한 정보 : 클릭 void bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace, intborderType=BORDER_DEFAULT ) (원본이미지,아웃풋이미지,각 픽셀의 근처의 직경,시그마컬러값 , 좌표공간에서 시그마 필터링) src - 소스 8 비트 또는 부동 소수점, 1 채..
-출처 : http://cinema4dr12.tistory.com/entry/OpenCV-Gaussian-
히스토그램(Histogram)?->데이터의 특징을 한 눈에 관찰하기 쉽도록 빈도수에 따라 표현한 그래프 이다. void calcHist(const Mat * image, int nimages, //소스이미지 갯수const int * channels, //사용될 채널 리스트InputArray mask, //마스크 이미지-옵션OutputArray hist, //출력int dims, //몇차원?const int* histSize, //히스토그램 사이즈 arrayconst float** ranges,//차원의 경계 arraybool uniform = true,//균일 여부를 결정하는 flagbool accumulate = false//축적 여부를 결정하는 flag};원형은 위와 같다. 하지만 이 caclHist..
이번시간에는두장의 이미지가 있을때 이미지를 섞는방법을 해볼예정입니다Blending 섞는다. 라는 의미로 두장의 이미지를 겹치거나 서서히 바뀌는것을 해볼 것입니다. 일단 준비물 : 두장의 크기가 같은 서로 다른 이미지 파일을 준비 이미지 로드는openframeworks ->ofImage 를 이용하여 Mat형식으로 이미지를 서로 섞어 openCV ->imshow() 함수를 이용하여 이미지를 바뀌는 모습을 출력 헐 예정입니다. ofImage src1_1, src2_2; //Image File 를 선언해주시고Mat src1, src2, blended; //Mat형식의 원본이미지 2개와 섞여서 출력될 1개를 선언시켜줌니다. src1_1.load("image_1.jpg");src2_2.load("image_2.jp..
lookUpTable(LUT) -> In computer science, a lookup table is an array that replaces runtime computation with a simpler array indexing operation. The savings in terms of processing time can be significant, since retrieving a value from memory is often faster than undergoing an "expensive" computation or input/output operation.[1] The tables may be precalculated and stored in static program storage,..
ColorReduction ->말 그대로 컬러 이미지에서 색상 감축을 위하여 쓰는 알고리즘 입니다. 해당 중요 함수 부분입니다. cv::Mat myColorReduction(Mat &srcImg, int cw) { Mat_ destImg = Mat_ (srcImg.clone()); for (int r = 0; r < srcImg.rows; r++) { for (int c = 0; c < srcImg.cols; c++) { Vec3b rgb = destImg(r,c); for (int k = 0; k < 3; k++) { rgb[k] = int(rgb[k] / cw) * cw; } destImg(r, c) = rgb; } } return destImg; } 이중포문을 사용하여 전체 이미지를 스캔하고 가로 ..
이번에는 비트플레인 함수를 만들겠습니다 BitPlane 이란? 디지털 정보 용어로써, 우리말로는 비트 평면이라고 얘기를 한다. 8bit 그레이 영상의 한 픽셀은 8개의 bit로 구성됩니다^^ 즉, 픽셀값은 00000000(0)~11111111(255)까지의 값을 가질 수 있죠 8개의 bit중에서 최상위 비트를 MSB(Most Significant Bit), 최하위 비트를 LSB(Least Significant Bit)라고 합니다 위의 표는 이진수를 간단히 십진수로 변환할 수 있는 방법입니다..^^ 특히 4bit짜리는 8-4-2-1 코드로 잘 알려져 있죠..^^ 예를들어, 이진수 0110은 8과 1의 값은 0이고, 4와 2의 값은 1이기 때문에 4 + 2 = 6이 됩니다^^ 이진수 '1100 0000'값은..