机器视觉_相机开发(一)——FlyCapture

目录

1.1 基本操作

1.2 开启相机程序


1.1 基本操作

1.2 开启相机程序

#include <opencv2/imgproc/imgproc.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <iostream>

#include <FlyCapture2.h>

using namespace std;

using namespace cv;

using namespace FlyCapture2;

int main()

{

	Error error;

	Camera camera;

	CameraInfo camInfo;

	/*连接相机*/

	error = camera.Connect(0);

	if (error != PGRERROR_OK)

	{

		cout << "Failed to connect to camera" << endl;

		system("pause");

		return false;

	}

	/*获取相机信息*/

	error = camera.GetCameraInfo(&camInfo);

	if (error != PGRERROR_OK)

	{

		cout << "Failed to get camera info from camera" << endl;

		return false;

	}

	//cout << camInfo.vendorName << " "<< camInfo.modelName << " "<< camInfo.serialNumber << endl;//打出相机信息

	/*开启相机*/

	error = camera.StartCapture();

	if (error == PGRERROR_ISOCH_BANDWIDTH_EXCEEDED)

	{

		cout << "Bandwidth exceeded" << endl;

		return false;

	}

	else if (error != PGRERROR_OK)

	{

		cout << "Failed to start image capture" << endl;

		return false;

	}

	/*读取拍摄内容*/

	Image rawImage;

	Image rgbImage;

	while (1)

	{

		/*读取拍摄内容*/

		Error error = camera.RetrieveBuffer(&rawImage);

		if (error != PGRERROR_OK)

		{

			cout << "capture error" << endl;

			continue;

		}

		rawImage.Convert(PIXEL_FORMAT_BGR, &rgbImage);

		unsigned int rowBytes = (double)rgbImage.GetReceivedDataSize() / (double)rgbImage.GetRows();

		Mat frame = Mat(rgbImage.GetRows(), rgbImage.GetCols(), CV_8UC3, rgbImage.GetData(), rowBytes);

		resize(frame, frame, Size(0.6*frame.cols, 0.6*frame.rows));

		imshow("显示", frame); //srcImage = frame

		waitKey(1);

	}

	return 0;

}

 

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值