我正在尝试制作一个可以拍摄图像并放大其中一部分的块。为了做到这一点,我正在使用 OpenCV(我是新手)。
我的问题是,每当我使用 16 位签名 (cv_16sC1) 运行函数时,我都会收到错误 OpenCV Error: Unsupported format or combination of formats () in cvGetRectSubPix, file /media/virtex4/re/OpenCV-2.4.0/modules /imgproc/src/samplers.cpp,第 573 行。
首先,有谁知道这个功能是否真的适用于那个位深度?有没有办法查出来?
cv::Mat image_1_in(video_frame->_width, video_frame->_height, CV_16SC1, video_frame->GetPointerToYLine(0));
cv::Mat image_1_out(video_frame->_width, video_frame->_height, CV_16SC1, video_frame_out->GetPointerToYLine(0));
cv::Mat temp_image;
getRectSubPix(image_1_in, cv::Size(100, 200), cv::Point2f(200, 200), temp_image);
resize(temp_image, image_1_out, Size(video_frame_out->_width, video_frame_out->_height));
这是许多尝试之一,每个尝试都给出相同的错误(直到我将格式更改为没有给出错误的 CV_32f)......