황찌옹
정리왕옹옹
황찌옹
GitHub Contribution
Loading data ...
  • 분류 전체보기 (158)
    • [ 알고리즘 ] (96)
      • Implementation (24)
      • Brute Force (6)
      • String (4)
      • Greedy (14)
      • DFS, BFS (13)
      • Back Tracking (4)
      • Sort & Binary Search (6)
      • DP (8)
      • Shortest Path (5)
      • Hash (3)
      • Stack, Queue (4)
      • Heap (1)
      • Tree (1)
      • Mathematics (1)
      • Ad-Hoc (1)
      • 기타 (COS Pro, etc) (1)
    • [ 언어 및 문법 ] (23)
      • Python (5)
      • C, C++ (13)
      • SQL (1)
      • 공통 개념(CS) (4)
    • [ Error ] (21)
      • Radiomics Feature Extraction (6)
      • CT Skin Segmentation (12)
      • etc (3)
    • [ Git ] (7)
    • [ 환경 설정 및 기타] (6)
    • [ 공부 ] (2)
      • AI, ML (0)
      • Computer Vision (0)
      • Image Processing (1)
      • QT (0)
      • AWS (1)
      • 의료 (0)
    • [ 포트폴리오 ] (1)
      • 🙋‍♀️자기 소개🙋‍♀️ (1)
      • 프로젝트 (0)
      • 공모전 (0)
      • 자격증 (0)
      • 대내외활동 (0)
      • 논문 (0)
      • 교육 봉사 (0)
    • [ 취준 ] (2)
      • 채용 설명회, 직무 상담 (1)
      • 취준 후기 (1)

블로그 메뉴

  • ❤️깃허브❤️

인기 글

태그

  • 모두의코드
  • configuration
  • Cloud
  • QT
  • SQL
  • OpenCV
  • cs
  • config
  • Python
  • keras
  • Visual Studio
  • numpy
  • aws
  • Anaconda
  • git
  • pyplot
  • tensorflow
  • cos pro
  • 씹어먹는C++
  • c++

최근 댓글

최근 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
황찌옹

정리왕옹옹

[ 언어 및 문법 ]/C, C++

[C++, OpenCV] Convert Arr2Mat, Mat2Arr / 16bit(short) to 8bit(unsigned char) / CV_type

2022. 8. 14. 02:54

 

Convert Arr to Mat

short* psImage;
Mat psImage_mat(nWidth, nHeight, CV_16SC1, psImage);

Convert Mat to Arr

short* psImage_arr = (short*)psImage_mat.data;

Convert 16bit(short) to 8bit(unsigned char)

normalization
Mat img(row, col, CV_16SC1); // 16bit(short)
Mat img_8UC1 = img.clone();

// get min, max
double minVal;
double maxVal;
Point minLoc;
Point maxLoc;
minMaxLoc(img, &minVal, &maxVal, &minLoc, &maxLoc);

// normalization
img_8UC1 -= minVal;
img_8UC1.convertTo(img_8UC1, CV_8U, 255.0 / (maxVal - minVal)); // 8bit(uchar)

 


 

CV_type

Mat의 요소가 어떤 타입의 데이터인지 지정

  • CV_8UC1 : 8bit unsigned char (0~255) => imshow 가능
  • CV_8SC1 : 8bit signed char (-128~127) => imshow 가능
  • CV_16UC1 : 16bit unsigned short (0~65535)
  • CV_16SC1 : 16bit signed short (-32768~32767)
  • CV_32SC1 : 32bit signed int (-2147483648~2147483647)

 


 

normalize (0~1로 정규화)

cv::normalize(src, dst, 0, 1, NORM_MINMAX, CV_8UC1);

 

 

 

저작자표시 (새창열림)

'[ 언어 및 문법 ] > C, C++' 카테고리의 다른 글

[C++] NAN, isnan()  (0) 2022.08.14
[C++] 가비지(Garbage) & 가비지 컬렉션(Garbage Collection) / 포인터 & 메모리 동적할당  (0) 2022.08.14
[C++] 2차원 배열 동적 할당, 해제, 초기화  (0) 2022.08.14
[C++] 전방 선언 (Forward Declaration)  (0) 2022.08.14
[C++] 정적 변수(Static) vs 전역 변수(Global) , const  (0) 2022.08.14
    황찌옹
    황찌옹
    다 정리해버리꺼야

    티스토리툴바