一,简介

本模块为跨平台的gui/IO组件,支持平台包括windows,linux,mac,IOS,android,可支持图像/视频/摄像头的读取显示以及转码。

二,分析

本模块为跨平台的gui/IO组件,包括如下图所示文件:

opencv 等高线 opencv highgui_ide

------------------------------------------------------------------------------------------------------------------

头文件:

ios.h,cap_ios.h ,

highgui_c.h , C/C++兼容头文件,定义了窗口控件相关的flag、实现函数;图像输入输出显示的相关函数;视频摄像头输入输出显示的相关函数;

highgui.hpp

------------------------------------------------------------------------------------------------------------------

实现文件:

,内含多种格式图像的支持,grfmt_xxx.hpp/grfmt_xxx.cpp,可在此目录中添加自定义/其他格式的图像读取保存支持;

cap.cpp
cap_cmu.cpp
cap_dshow.cpp
cap_ffmpeg.cpp
cap_ffmpeg_api.hpp,cap_ffmpeg_impl.cpp
cap_images.cpp
cap_vfw.cpp
loadsave.cpp
precomp.cpp,precomp.hpp
utils.hpp/utils.cpp
window.cpp
window_w32
window_QT.cpp,window_gtk.cpp,window_carbon.cpp,window_cocoa.mm


------------------------------------------------------------------------------------------------------------------

三,总结

OpenCV的gui/io组件可扩展性很好,支持平台多,结构清晰,实现简单;缺点是这个模块的名字highgui有点莫名其妙且包括io,C/C++代码杂揉混乱。

此仅为一己之见,如有疑问/意见,欢迎在评论区留言。