gpt4 book ai didi

c++ - 如何使用带有覆盆子相机模块的opencv c++以彩色模式获取图像

转载 作者:太空宇宙 更新时间:2023-11-04 16:08:41 25 4
gpt4 key购买 nike

我正在使用带有 opencv 3 gold 和 raspicam-0.1.3 libarrry 的 raspberry pi 2 作为 pi 相机模块我已经测试了下面的代码并且它有效但它为我提供了灰度模式(黑色和白色)的图像但我希望它处于彩色模式(RGB)

代码如下:

#include <ctime>
#include <iostream>
#include <raspicam/raspicam_cv.h>
using namespace std;

int main ( int argc,char **argv ) {

time_t timer_begin,timer_end;
raspicam::RaspiCam_Cv Camera;
cv::Mat image;
int nCount=100;
//set camera params
Camera.set( CV_CAP_PROP_FORMAT, CV_8UC1 );
//Open camera
cout<<"Opening Camera..."<<endl;
if (!Camera.open()) {cerr<<"Error opening the camera"<<endl;return -1;}
//Start capture
cout<<"Capturing "<<nCount<<" frames ...."<<endl;
time ( &timer_begin );
for ( int i=0; i<nCount; i++ ) {
Camera.grab();
Camera.retrieve ( image);
if ( i%5==0 ) cout<<"\r captured "<<i<<" images"<<std::flush;
}
cout<<"Stop camera..."<<endl;
Camera.release();
//show time statistics
time ( &timer_end ); /* get current time; same as: timer = time(NULL) */
double secondsElapsed = difftime ( timer_end,timer_begin );
cout<< secondsElapsed<<" seconds for "<< nCount<<" frames : FPS = "<< ( float ) ( ( float ) ( nCount ) /secondsElapsed ) <<endl;
//save image
cv::imwrite("raspicam_cv_image.jpg",image);
cout<<"Image saved at raspicam_cv_image.jpg"<<endl;
}

只是注意到我在尝试这里的第一个示例时得到了彩色图像:http://sourceforge.net/projects/raspicam/files/?source=navbar

我所做的是在 imwrite 之前插入 cvtColor(image, cimg, CV_GRAY2RGB); 但这并没有解决我的问题

任何帮助将不胜感激......谢谢

最佳答案

您在这里将相机设置为“灰度模式”:

Camera.set( CV_CAP_PROP_FORMAT, CV_8UC1 );

如果你想要“彩色模式”,你应该这样做:

Camera.set( CV_CAP_PROP_FORMAT, CV_8UC3 );

CV_8UC1 表示每种颜色 1 个字节,即灰度,而 CV_8UC3 表示每种颜色 3 个字节,例如红绿蓝

关于c++ - 如何使用带有覆盆子相机模块的opencv c++以彩色模式获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31315421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com