서명 된 char 및 unsigned char 유형은 모든 플랫폼에서 8 비트가되는 것은 아니지만 때로는 8 비트 이상인 경우도 있습니다. 그렇다면 OpenCv를 사용하면 CV_8U가 항상 8 비트인지 어떻게 확인할 수 있습니까? 8 비트 매트를 취하고 필요한 경우 CV_8SC1 요소를 uchars로 변환하고 CV_8UC1을 schar로 변환하는 짧은 함수를 작성했습니다. 이제는 플랫폼에 독립적이지 않아서 코드를 어떤 방식으로 고쳐야한다고 생각합니다.8 비트 시스템에서 CV_8U opencv의 행렬
P .: 마찬가지로 32 비트 int가없는 시스템에서도 CV_32S가 항상 int가 될 수 있습니까?
필자는 걱정할 필요가 없다고 생각합니다. OpenCV가 기본 구현을 처리하도록하십시오. CHAR_BIT> 8 인 플랫폼은 다소 이상합니다 (일반적으로 DSP). sizeof (int)> 4가 다소 더 일반적이지만, OpenCV가 이것을 처리 할 것이라고 확신합니다. –
실제로 OpenCV는 ia32, amd64 및 arm (2.3.0부터) 플랫폼에서만 작동 할 것을 약속합니다. 이 플랫폼들은 모두 8 비트 char과 32 비트 int를 가지고 있습니다. –
@ AndreyKamaev. 그리고 schar에서 uchar 로의 변환과 viceversa에 관해서는 제가 작성한 코드에 의지 할 수 있다고 생각합니까? 모든 플랫폼이 2를 보완합니까? –