일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MongoDB
- c++
- 확률
- R
- Artificial Intelligence
- 빅 데이터
- 김양재 목사
- Statistics
- 빅데이터
- Machine Learning
- data science
- Deep learning
- 데이터 과학
- 통계
- 우리들교회
- 몽고디비
- 김양재
- openCV
- nodeJS
- 인공지능
- 김양재 목사님
- No SQL
- node.js
- Big Data
- 주일설교
- WebGL
- 빅 데이타
- 딥러닝
- probability
- 빅데이타
- Today
- Total
목록Programming (202)
Scientific Computing & Data Science
Brightness & Contrast 조정\( g(x) = \alpha f(x) + \beta \) where \(f(x)\): Source Image Pixels,\(g(x)\): Output Image Pixels\(\alpha\): Gain( > 0), \(\beta\): Bias 이를 픽셀 단위로 풀어 쓰면, \( g(i,j) = \alpha f(i,j) + \beta \) i : 행, j : 열Example Code1234567891011121314151617181920212223242526272829303132333435363738#include "stdafx.h"#include "opencv2/opencv.hpp" using namespace cv; int _tmain(int argc, _..
우선 cv::Mat의 이미지 데이터를 얻어옵니다: cv::Mat image = cv::imread( YOUR_IMAGE_PATH ); 이미지의 시작 픽셀에 대한 데이터 포인터는 다음과 같이 얻을 수 있습니다: uchar *data = image.data; 이 데이터 포인터로부터 이미지의 다음 행(row)의 포인터를 얻을 수 있습니다: data += image.step; step은 이미지의 한 라인 내의 모든 bytes 수입니다. 만약 (j, i)에 해당하는 픽셀의 주소값을 얻고 싶다면 다음과 같이 얻을 수 있습니다: data = image.data + j*image.step + i*image.elemSize(); 이것은 &image.at( j, i )과 동일한 연산입니다.
reshape 메써드는 메모리 복사 또는 픽셀의 위치 변경 없이 Matrix의 Dimension을 변경합니다.Example Code123456789// open the imagecv::Mat image = cv::imread( YOUR_IMAGE_PATH ); if( image.isContinuous() ) image.reshape( 1, image.cols * image.rows ); // display imagecv::namedWindow( "Image" );cv::imshow( "Image", image );cs reshape 메써드의 첫번째 파라미터는 채널의 새로운 개수이고 두번째 파라미터는 행(rows)의 새로운 개수입니다. 열(columns)의 개수는 자동으로 계산됩니다.
이미지의 row(행) 번호 j에 대한 첫번째 열의 픽셀 데이터 포인터는 다음과 같습니다: uchar* data= image.ptr(j); 이를 이용한 픽셀 처리에 대한 예제 코드는 다음과 같습니다: 12345678910111213141516171819// open the imagecv::Mat image = cv::imread( IMAGE_FILE_PATH ); // number of linesint nl = image.rows; // total number of elements per lineint nc = image.cols * image.channels(); for ( int j = 0; j
landscape.jpgcolorReduce.cpp1234567891011121314151617181920212223242526272829303132333435363738394041#include "stdafx.h"#include "opencv2\opencv.hpp" /////////////////////////////////////////////////////////////////////////// colorReducevoid colorReduce( cv::Mat &image, int div = 64 ) { int nl = image.rows; // number of lines // total number of elements per line int nc = image.cols * image.chann..
[시작] > [제어판] > [시스템 및 보안] > [시스템] > [고급 시스템 설정]을 클릭합니다. [환경 변수]를 클릭합니다. [환경 변수] 패널의 [사용자 변수] 또는 [시스템 변수] 섹션에서 [새로 만들기]를 클릭합니다. [변수 이름]으로 MWLOCALE_TRANSLATED를 입력합니다. [변수 값]으로 OFF를 입력합니다. (OFF: 영문, ON: 한글) [확인]을 클릭합니다. [환경 변수] 패널에서 [확인]을 클릭합니다. [시스템 속성] 창에서 [확인]을 클릭합니다.
개발 환경Microsoft Windows 7Visual Studio V11 (2012)OpenCV 3.0.0Example Code12345678910111213141516171819#include #include #include int _tmain(int argc, _TCHAR* argv[]){ // Read an image cv::Mat image = cv::imread("[YOUR_IMAGE_PATH]"); // Set name of the window cv::namedWindow("My Image"); // Show the window cv::imshow("My Image", image); cv::waitKey(5000); return 0;}Colored by Color Scriptercs
MFC에서 논리 드라이브에 대한 정보를 표시하는 방법은 다음과 같다: [Header File]CComboBox m_wndDevices; CEdit m_wndVolume; CEdit m_wndFileSys; CEdit m_wndMaxLen; [Source Code]CString s; CString sRootPathName; CString sVolumeName; DWORD dwVolumeSerialNumber; DWORD dwMaxComponentLength; DWORD dwFileSystemFlags; CString sFileSystemName; m_wndDevices.GetWindowText(s); sRootPathName.Format(_T("%s\\"), s); BOOL bSuccess = ::GetV..
MFC에서 자신의 Windows Machine의 논리 드라이브 문자 표시하는 방법은 다음과 같다: [Header File]CComboBox m_wndDevices; CEdit m_wndVolume; [Source Code]CString s; DWORD dwDrives = ::GetLogicalDrives(); for (int i = 0; dwDrives != 0; i++, dwDrives >>= 1) { if ((dwDrives & 0x01) == 0x01) { s.Format(_T("%c:"), 'A' + i); m_wndDevices.AddString(s); } } if (m_nVolume > (m_wndDevices.GetCount() - 1)) m_nVolume = (m_wndDevices.Get..
MFC의 CFile 클래스를 이용하여 UTF 문자를 파일에 쓰는 방법은 다음과 같다:CString str = _T("가나다라"); CFile yourFile(_T("test.txt"), CFile::modeWrite | CFile::modeCreate); CT2CA outputString(str, CP_UTF8); yourFile.Write(outputString, ::strlen(outputString));