EAIDK-610 运行demo测试

老师提供了3个demo程序(上午)

分别为

01_cap_disp.cpp

02_cap_disp_time.cpp

03_cap_disp_pthread.cpp

同时还有一个makefile文件

打开makefile,可以看到代码:

export PKG_CONFIG_PATH=/usr/local/AID/pkgconfig:$PKG_CONFIG_PATH

LDDFLAGS= -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lcam_engine_cifisp -lcam_ia -lpthread  `pkg-config --libs fastcv` `pkg-config --libs gtk+-3.0` 
INCFLAGS= `pkg-config --cflags fastcv` `pkg-config --cflags gtk+-3.0`
all: 

allall: demo1 demo2 demo3 demo4

demo1: 01_cap_disp.cpp
	g++ -c 01_cap_disp.cpp ${INCFLAGS}
	g++ 01_cap_disp.o ${LDDFLAGS} -o $@
demo2: 02_cap_disp_time.cpp
	g++ -c 02_cap_disp_time.cpp ${INCFLAGS}
	g++ 02_cap_disp_time.o ${LDDFLAGS} -o $@
demo3: 03_cap_disp_pthread.cpp
	g++ -c 03_cap_disp_pthread.cpp ${INCFLAGS}
	g++ 03_cap_disp_pthread.o ${LDDFLAGS} -o $@
demo4: 04_cap_enc.cpp
	g++ -c 04_cap_enc.cpp ${INCFLAGS}
	g++ 04_cap_enc.o ${LDDFLAGS} -o $@
demo5: 05_cap_resize_enc.cpp
	g++ -c 05_cap_resize_enc.cpp ${INCFLAGS}
	g++ 05_cap_resize_enc.o ${LDDFLAGS} -o $@
demo6: 06_cap_enc_dec_disp.cpp
	g++ -c 06_cap_enc_dec_disp.cpp ${INCFLAGS}
	g++ 06_cap_enc_dec_disp.o ${LDDFLAGS} -o $@

clean:
	rm -f *.o
	rm -f demo*

1     把这些cpp文件和makefile文件放在同一目录下。

2     在终端中cd到当前目录下,输入

       make demo1

      来生成01_cap_disp.cpp的可执行文件,从makefile中可以看到其对这个cpp文件使用g++编译了

3    在编译成功后,在终端输入

      ./demo1

      执行demo1,其他demo同理

      在正常情况下,可以看到板卡弹出一个窗口,显示摄像头拍摄的画面

可能出现的问题:

1  

描述:无法关闭显示画面:

解决办法: 在终端键入 Ctrl+C 结束

2

描述:窗口显示图像为黑屏

解决办法:1)取下摄像头的防尘盖(哈哈哈)

                  2)检查.cpp文件中是否修改了关于显示区间的定义

                  3)看终端是否有对应报错信息

小结:

1.关于make命令

一个makefile文件由一组依赖与规则组成。一个依赖具有一个目标(将要创建的文件)以及他所依赖的源文件集合。规则描述了由赖文件如何创建目标文件。通常,目标文件是一个可执行文件。

2.关于IBP帧

个人理解:I帧包含了一帧图片中的所有信息,P帧是I帧(或上个P帧)的发展方向(理解为一个矢量),所以P帧对应图片就是I+P,而B帧对应图片是根据相邻I帧和P帧计算得到的(不是简单的插值,如果是插值的话,没有多个B帧的意义!)。

(理解可能有错误,以参考博客为准:https://blog.csdn.net/blade2001/article/details/46944287

由于时间关系,成文仓促,在冬令营结束后我会补全不完善的部分(原理与代码部分,操作部分就算了)

发布了44 篇原创文章 · 获赞 203 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/ReadAir/article/details/86588751
今日推荐