Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 错误的颜色格式或有缺陷的相机?_Opencv_Rgb_Video Capture_Color Scheme_Yuv - Fatal编程技术网

Opencv 错误的颜色格式或有缺陷的相机?

Opencv 错误的颜色格式或有缺陷的相机?,opencv,rgb,video-capture,color-scheme,yuv,Opencv,Rgb,Video Capture,Color Scheme,Yuv,我正在使用以下OpenCV代码访问摄像机的视频馈送(Jetson TX1终端中的lsusb命令将摄像机列为Pixart Imaging,Inc.) 代码: #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> int main() { cv::VideoCapture cap(

我正在使用以下
OpenCV
代码访问摄像机的视频馈送(Jetson TX1终端中的lsusb命令将摄像机列为Pixart Imaging,Inc.)

代码:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

int main()
{
        cv::VideoCapture cap(1);
        if(!cap.isOpened())
        {       
                std::cout << "Input error\n";
                return -1;
        }

        cv::namedWindow("Video Feed", cv::WINDOW_AUTOSIZE);

        for(;;)
        {
                cv::Mat frame;
                cap >> frame;
                std::cout << "Type: " << frame.type() << "\n";
                //cv::cvtColor(frame, frame, CV_YUV2RGB);
                //cv::resize(frame, frame, cv::Size2i(256, 144));
                cv::imshow("Video Feed", frame);        
                if (cv::waitKey(10) == 27)
                {
                        break;
                }
        }       
        cv::destroyAllWindows();
        return 0;
}
1) 这只是一个有缺陷的照相机吗

2) 是否有任何测试/方法来识别和纠正问题

编辑: 我添加了一张新图片,以了解离相机较近的人衬衫的实际颜色:

我想说,打印一些简单的图片并拍照会更有用,这样你就可以和已知的目标进行比较(我真的不知道那件衬衫应该是什么颜色)。可能是一个混乱的色彩平衡。你能用OpenCV以外的软件(比如现有的应用程序)观看颜色正确的视频吗?你真的不知道你的相机的具体型号吗?当通过vlc检查时,它提供了类似的视频。我不知道相机的具体型号是什么。就连给我这个相机的人也不知道。我将尝试使用colorChecker图表并更新问题。
imshow()
来自opencv的是BGR图像,而不是RGB图像,因此如果要使用
imshow()显示图像,则应使用
YUV2BGR
@AlexanderReynolds我会试试的。@AlexanderReynolds
YUV2BGR
不起作用。我想说打印一些简单的图片并拍照会更有用,这样你就可以和已知的目标进行比较(我真的不知道那件衬衫应该是什么颜色)。可能是一个混乱的色彩平衡。你能用OpenCV以外的软件(比如现有的应用程序)观看颜色正确的视频吗?你真的不知道你的相机的具体型号吗?当通过vlc检查时,它提供了类似的视频。我不知道相机的具体型号是什么。就连给我这个相机的人也不知道。我将尝试使用颜色检查器图表并更新问题。
imshow()
来自opencv的需要BGR图像,而不是RGB图像,因此如果要使用
imshow()
@AlexanderReynolds来显示图像,我将尝试。@AlexanderReynolds
YUV2BGR
不起作用。
Corrupt JPEG data: 1 extraneous bytes before marker 0xd9