ubuntu_OpenCV_C++显示相机采集

先是安装OpenCV,连安卓都有安装包,Linux下居然没有现成的安装包,只能源码编译,跟人沾边的事是一点不干

参考:ubuntu 20.04下编译供C++/python使用的opencv,得折腾近一个小时

 

然后还得在它的目录下编译,本来就够乱的了还要塞一堆工程文件进去

测试代码

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include "DVPCamera.h"

using namespace cv;

int main(int argc, char **argv) {
	dvpUint32 i=0,count=0;//相机数量
	dvpCameraInfo info[8];//相机信息
	dvpStatus status;//相机状态
	
	dvpHandle h;//相机句柄
	dvpFrame frame;//帧数据
	void *p;//?
	cv::Mat img;//OpenCV图像

	/*刷新枚举相机*/
	dvpRefresh(&count);
	if (count > 8)count = 8;

	for (i = 0; i < count; i++)
	{    
		if(dvpEnum(i, &info[i]) == DVP_STATUS_OK)    
		{        
			printf("已连接相机: %s\r\n", info[i].FriendlyName);    
		}
	}
	
	/*相机初始化*/
	status = dvpOpen(0, OPEN_NORMAL, &h);//以索引号打开相机
	dvpSetTriggerState(h, false);//设置为连续出图模式
	status = dvpStart(h);//启动视频流

	cv::namedWindow("Camera",0);//可以拖动窗口大小
	cv::resizeWindow("Camera", 640, 512);//设置窗口大小
	cv::moveWindow("Camera",1200,500);//设置窗口位置
	
	while(1)
	{
		dvpGetFrame(h, &frame, &p, 1000);//采集一帧图像

		/*转换为OpenCV格式并显示*/
		img = cv::Mat(frame.iHeight, frame.iWidth, CV_8UC1, (uchar*)p);

		cv::imshow("Camera",img);//显示图像到窗口
		cv::waitKey(1);
	}
}

编译命令也要加上相机和OpenCV的库 

g++ main.cpp -o Demo -L . libdvp.so libhzd.so -lpthread -Wl,-rpath=. `pkg-config opencv4 --cflags --libs`

编译后运行

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值