Я пытаюсь включить поддержку 12-битного JPEG с opencv 4.0.1
. Я выполнил libjpeg 9c (ver 90)
из источника с 12-битной поддержкой и установил его. Когда я компилирую OpenCV, происходит сбой с сообщением об ошибке
/home/akshay/Downloads/opencv-4.0.1/modules/imgcodecs/src/grfmt_jpeg.cpp: In member function ‘virtual bool cv::JpegDecoder::readData(cv::Mat&)’:
/home/akshay/Downloads/opencv-4.0.1/modules/imgcodecs/src/grfmt_jpeg.cpp:456:87: error: cannot convert ‘JSAMPROW {aka short int*}’ to ‘const uchar* {aka const unsigned char*}’ for argument ‘1’ to ‘void cv::icvCvt_BGR2RGB_8u_C3R(const uchar*, int, uchar*, int, cv::Size) icvCvt_RGB2BGR_8u_C3R( buffer[0], 0, data, 0, Size(m_width,1) );
/home/akshay/Downloads/opencv-4.0.1/modules/imgcodecs/src/grfmt_jpeg.cpp:458:90: error: cannot convert ‘JSAMPROW {aka short int*}’ to ‘const uchar* {aka const unsigned char*}’ for argument ‘1’ to ‘void cv::icvCvt_CMYK2BGR_8u_C4C3R(const uchar*, int, uchar*, int, cv::Size)’
icvCvt_CMYK2BGR_8u_C4C3R( buffer[0], 0, data, 0, Size(m_width,1) );
^
/home/akshay/Downloads/opencv-4.0.1/modules/imgcodecs/src/grfmt_jpeg.cpp:465:91: error: cannot convert ‘JSAMPROW {aka short int*}’ to ‘const uchar* {aka const unsigned char*}’ for argument ‘1’ to ‘void cv::icvCvt_CMYK2Gray_8u_C4C1R(const uchar*, int, uchar*, int, cv::Size)’
icvCvt_CMYK2Gray_8u_C4C1R( buffer[0], 0, data, 0, Size(m_width,1) );
^
/home/akshay/Downloads/opencv-4.0.1/modules/imgcodecs/src/grfmt_jpeg.cpp: In member function ‘virtual bool cv::JpegEncoder::write(const cv::Mat&, const std::vector<int>&)’:
/home/akshay/Downloads/opencv-4.0.1/modules/imgcodecs/src/grfmt_jpeg.cpp:701:51: error: cannot convert ‘uchar** {aka unsigned char**}’ to ‘JSAMPARRAY {aka short int**}’ for argument ‘2’ to ‘JDIMENSION jpeg_write_scanlines(j_compress_ptr, JSAMPARRAY, JDIMENSION)’
jpeg_write_scanlines( &cinfo, &ptr, 1 );
Это похоже на ошибку, замеченную в одном из вопросов OpenCV ранее. Любые предложения для меня, чтобы решить эту проблему совместимости? Похоже, его невозможно преобразовать в правильный тип данных. У меня такая же проблема при использовании libjpeg-turbo
.
Любая помощь приветствуется.
Спасибо