[OpenCV][C++] cv::Mat 클래스 총정리(5) - 16bit, 32bit, 64bit 원소 접근(short, int, float, double)


[OpenCV][C++] cv::Mat 클래스 총정리(5) - 16bit, 32bit, 64bit 원소 접근(short, int, float, double)

우리는 그동안 cv::Mat 원소 접근에 대해 살펴보았어요. 우리가 다루는 대부분의 영상이 8bit 영상이지만 필터링을 하거나 산술 덧셈, 산술 뺄셈 등을 하다보면 8bit 를 넘어가는 숫자가 생기게 됩니다. opencv 에서는 산술 덧셈, 산술 뺄셈을 하면 입력 영상과 같은 type으로 결과를 내 줍니다. bit를 넘어가는 수, 예를 들어 200 + 150 = 350 이 되어야 하는데, 255로 표시가 되는 거죠. 아래와 같이 강제로 16bit 영상을 선언한 후 연산을 해도 다시 8bit로 바뀌네요. 그래서 filtering을 준비해봤어요. 대표적인 것이 Laplacian 필터인데요. cv::Laplacian()은 출력 포맷을 정할 수 있는데, lena 영상을 Laplacian을 해 보니 계산 값들이 아래와 같이 음수 값도 갖고, 255를 넘어가는 값도 갖습니다. 만약 이 결과를 8bit 영상에 담아내면 아래와 같이 255 이상 값은 255로 0 이하 값은 0으로 되기 때문에 정보...


#16bit #원소접근 #원소 #ushort #short #opencv #mat #int #gray #float #double #color #64bit #32bit #1ch #접근

원문링크 : [OpenCV][C++] cv::Mat 클래스 총정리(5) - 16bit, 32bit, 64bit 원소 접근(short, int, float, double)