일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이미지 생성
- #1일1영어
- c언어
- #English
- keras
- #opencv
- #실생활영어
- #일상영어
- #Android
- tokenizing
- 완전탐색
- 딥러닝
- #영어
- #실생활 영어
- convexhull
- 영어
- #프로젝트
- findContours
- python __init__
- tensorflow update
- python 알고리즘
- object detection
- text2img
- word embedding
- Convolution Neural Network
- #영어 명언
- TensorFlow
- python list
- opencv SURF
- 영어명언
- Today
- Total
목록02. Study (140)
When will you grow up?
히스토그램(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'값은..
기본적으로 들어가기 전에 저희는 Mat 데이터 구조에 대해 알아보겠습니다 Mat? (mat data structure) OpenCV c++ n-차원 밀집형 배열 클래스 ->기본 데이터형 외에도 openCV 에서 정의한 다양한 데이터 등을 포함시켜 만들수 있는 데이터 형 cv::Mat cvImg; cv::Mat cvCloneImg; 등등등 이러한 형식 외에도 많은 template 형식으로 사용할수 있다. blur()함수를 이용하여 이미지 blur 효과를 확인해보겠다 일단 blur 함수의 원형은 다음과 같다. void blur( InputArray src, OutputArray dst, Size ksize, Point anchor=Point(-1,-1), int borderType = BORDER_DEFAU..
기본적으로 VS2015 커뮤니티 버전 및 openframeworks를 깔려있다는 가정하에 합니다 설치가 안되시는 분은 ( 클릭 )시작합니다! 이 블로그에서는 OpenCV3.1 버전 기준으로 합니다/ OpenCV C:\opencv\build\include 로 경로 추가아래 그림과 같이 셋팅 해주시면 되여 디렉터리 셋팅은 끝났으면 이번엔 링커 셋팅을 해야합니다 하하^^ 링커 ->일반 -> 추가 라이브러리 디렉터리 클릭 ->C:\opencv\build\x64\vc14\lib 과 같이 경로를 추가아래와 같이 셋팅이 되셔야 됨니다. 이번에는 입력 추가 종속성을 추가해 주시면 됨니다. 링커 ->입력 ->추가종속성 -> opencv_world310.lib , opencv_world310d.lib 2개를 입력! 아래 ..
저번 1_1 까지는 각 픽셀에 접근을 하여 픽셀의 색상을 입혀 사각형을 띄워 봤습니다. 이번에는 ofImage로 자신의 이미지를 띄워 반전 시키는 코드를 작성해 보겠습니다. 기본적으로 ofImage photo; //원본이미지 ofImage result; //반전시킬 이미지 를 만들어 놓습니다. 그리고 ofApp::setup() { photo.load("hello.jpg"); result.clone(photo); } 이렇게 초기화 문장에서 이미지 파일을 불러와 result이미지에 clone이라는 함수를 이용하여 같은 이미지를 넣어줌니다. load의 경로는 자신이 만든 프로젝트 안에 bin -> data 파일안에 저장을 넣어주시면 됨니다. 그리고 ofApp::draw() { photo.draw(50, 50)..
도큐멘트를 보면 setFromPixels() 은 ofImage에 잡힌 이미지의 픽셀을 설정할수 있다. 이미지는 좌측 상부 모서리가 (0,0)을 기준으로 가정한다. 기본적으로 setFromPixels() 원형은 아래와 같다. 아마 함수 정의를 여러 개로 정의하여 사용자 편의를 위해 제작된거 같다. c++ 문법이 약하신분들은 ....feat->함수 오버로딩,함수 오버라이딩을 찾아서 공부해 보시면 이해가 빠를거 같다. setFromPixels(타입,너비,높이,이미지유형); 이러한식으로 사용하시면 된다. 이미지 유형에는 아래와 같이 enum형식으로 만들어져 있다. 원하시는 것을 사용하시면 될거 같다. 이번 장에서는 너비 720 높이 480 을 기준으로 작성되었다. ofApp.cpp를 에서 작성을 하시면 됩니다...
오픈프레임웍스는 실험적인 작업을 위해 단순하고 직관적인 프레임워크를 제공하여 창의적인 프로세스를 돕는오픈소스C++ 툴킷입니다. 오픈프레임웍스는 범용적인 "접착제"의 역할을 하도록 디자인되었으며, 아래에 나열된 공용 라이브러리들을 포함하고 있습니다 :그래픽 : OpenGL, GLEW, GLUT, libtess2 and cairo오디오 입력, 출력 및 분석 : rtAudio, PortAudio, OpenAL 그리고 Kiss FFT or FMOD폰트 : FreeType이미지 불러오기 및 저장 : FreeImage비디오 재생 및 웹캠 : Quicktime, GStreamer and videoInput다양한 유틸리티 : Poco컴퓨터 비전 : OpenCV3D 모델 불러오기 : AssimpopenFrameworks..