일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 과학
- 빅 데이타
- 주일설교
- No SQL
- openCV
- nodeJS
- probability
- 김양재
- 확률
- Machine Learning
- Deep learning
- Artificial Intelligence
- 몽고디비
- Statistics
- c++
- 인공지능
- Big Data
- 우리들교회
- data science
- 빅데이터
- R
- 빅 데이터
- 김양재 목사
- MongoDB
- 통계
- 딥러닝
- 김양재 목사님
- node.js
- WebGL
- 빅데이타
- Today
- Total
목록pixel (2)
Scientific Computing & Data Science
이번 포스팅에서는 OpenCV의 Mat class의 data pointer를 통해 특정 픽셀의 컬러 정보를 얻어오는 방법에 대해 알아보도록 하겠습니다. 1. 이미지를 로딩합니다. 12// Read an imagecv::Mat image = cv::imread( YOUR_IMAGE_PATH, 1 );cs 2. uchar 타입의 image data pointer를 얻어옵니다. 1uchar *data = image.data;cs 3. 마찬가지로 컬러 채널별로 uchar 타입을 선언합니다. 1uchar *blue, *green, *red;cs 4. 특정 픽셀 (j, i) 각 채널 데이터를 얻어옵니다. 123blue = image.data + j*image.step + i*image.elemSize() + 0;g..
우선 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 )과 동일한 연산입니다.