[OpenCV] HighGUI
From: http://www.cnblogs.com/xylc/p/3406026.html
本模块为跨平台的gui/IO组件,支持平台包括windows,linux,mac,IOS,android,可支持图像/视频/摄像头的读取显示以及转码。
本模块为跨平台的gui/IO组件,包括如下图所示文件:

unsw@unsw-UX303UB$ tree -L
.
├── CMakeLists.txt
├── doc
│ ├── highgui.rst
│ ├── pics
│ │ └── qtgui.png
│ ├── qt_new_functions.rst
│ ├── reading_and_writing_images_and_video.rst
│ └── user_interface.rst
├── include
│ └── opencv2
│ ├── highgui
│ │ ├── cap_ios.h
│ │ ├── highgui_c.h
│ │ ├── highgui.hpp
│ │ └── ios.h
│ └── highgui.hpp
├── perf
│ ├── perf_input.cpp
│ ├── perf_main.cpp
│ ├── perf_output.cpp
│ └── perf_precomp.hpp
├── src
│ ├── agile_wrl.h
│ ├── bitstrm.cpp
│ ├── bitstrm.hpp
│ ├── cap_android.cpp
│ ├── cap_avfoundation.mm
│ ├── cap_cmu.cpp
│ ├── cap.cpp
│ ├── cap_dc1394.cpp
│ ├── cap_dc1394_v2.cpp
│ ├── cap_dshow.cpp
│ ├── cap_ffmpeg_api.hpp
│ ├── cap_ffmpeg.cpp
│ ├── cap_ffmpeg_impl.hpp
│ ├── cap_giganetix.cpp
│ ├── cap_gstreamer.cpp
│ ├── cap_images.cpp
│ ├── cap_intelperc.cpp
│ ├── cap_ios_abstract_camera.mm
│ ├── cap_ios_photo_camera.mm
│ ├── cap_ios_video_camera.mm
│ ├── cap_libv4l.cpp
│ ├── cap_mil.cpp
│ ├── cap_msmf.cpp
│ ├── cap_msmf.hpp
│ ├── cap_openni.cpp
│ ├── cap_pvapi.cpp
│ ├── cap_qt.cpp
│ ├── cap_qtkit.mm
│ ├── cap_tyzx.cpp
│ ├── cap_unicap.cpp
│ ├── cap_v4l.cpp
│ ├── cap_vfw.cpp
│ ├── cap_ximea.cpp
│ ├── cap_xine.cpp
│ ├── ffmpeg_codecs.hpp
│ ├── files_Qt
│ │ ├── Milky
│ │ │ ├──
│ │ │ │ ├── .png ...
│ │ │ ├──
│ │ │ │ ├── .png ...
│ │ │ └── README.txt
│ │ └── stylesheet_trackbar.qss
│ ├── grfmt_base.cpp
│ ├── grfmt_base.hpp
│ ├── grfmt_bmp.cpp
│ ├── grfmt_bmp.hpp
│ ├── grfmt_exr.cpp
│ ├── grfmt_exr.hpp
│ ├── grfmt_imageio.cpp
│ ├── grfmt_imageio.hpp
│ ├── grfmt_jpeg2000.cpp
│ ├── grfmt_jpeg2000.hpp
│ ├── grfmt_jpeg.cpp
│ ├── grfmt_jpeg.hpp
│ ├── grfmt_png.cpp
│ ├── grfmt_png.hpp
│ ├── grfmt_pxm.cpp
│ ├── grfmt_pxm.hpp
│ ├── grfmts.hpp
│ ├── grfmt_sunras.cpp
│ ├── grfmt_sunras.hpp
│ ├── grfmt_tiff.cpp
│ ├── grfmt_tiff.hpp
│ ├── ios_conversions.mm
│ ├── loadsave.cpp
│ ├── ppltasks_winrt.h
│ ├── precomp.hpp
│ ├── utils.cpp
│ ├── utils.hpp
│ ├── window_carbon.cpp
│ ├── window_cocoa.mm
│ ├── window.cpp
│ ├── window_gtk.cpp
│ ├── window_QT.cpp
│ ├── window_QT.h
│ ├── window_QT.qrc
│ └── window_w32.cpp
└── test
├── test_basic_props.cpp
├── test_drawing.cpp
├── test_ffmpeg.cpp
├── test_fourcc.cpp
├── test_framecount.cpp
├── test_grfmt.cpp
├── test_gui.cpp
├── test_main.cpp
├── test_positioning.cpp
├── test_precomp.hpp
├── test_video_io.cpp
└── test_video_pos.cpp
头文件:
ios.h,cap_ios.h , IOS平台相关事件,跳过分析;
highgui_c.h , C/C++兼容头文件,定义了窗口控件相关的flag、实现函数;图像输入输出显示的相关函数;视频摄像头输入输出显示的相关函数;
highgui.hpp , C++ only头文件,定义了创建窗口的flag,窗口事件的flag,Qt窗口的flag,事件回调函数原型,以及窗口/控件操作相关的系列函数,openGL的包装函数;图像输入输出显示的相关函数;视频摄像头输入输出显示的相关函数,VideoCapture,VideoWriter;
实现文件:
grfmts/*.* , 内含多种格式图像的支持,grfmt_xxx.hpp/grfmt_xxx.cpp,可在此目录中添加自定义/其他格式的图像读取保存支持;
cap.cpp , CvCapture操作相关的实现函数,可创建基于File或者camera的CvCapture;VideoCapture,CvVideoWriter操作相关的实现函数,可创建基于vfw,dshow,msMF,ffmpeg,gstreamer,quicktime,avfoundation等框架的视频流文件,或者图像文件;
cap_cmu.cpp , 基于cmu1394接口的camera于opencv的抽象实现,实现了一个基于cmu1394的CvCaptureCAM_CMU;
cap_dshow.cpp , 基于dshow框架的camera于opencv的抽象实现,定义了camera的枚举,视频帧的获取等操作,实现了一个基于dshow的CvCaptureCAM_DShow;
cap_ffmpeg.cpp , 基于ffmpeg框架的camera于opencv的抽象实现,这个文件是ffmpeg与CvCapture,CvVideoWriter接口之间的一个代理,实际的实现在cap_ffmpeg_impl.cpp中,代理为CvCapture_FFMPEG_proxy和CvVideoWiriter_FFMPEG_proxy;
cap_ffmpeg_api.hpp,cap_ffmpeg_impl.cpp , 定义实现了CvCapture_FFMPEG,CvVideoWriter_FFMPEG,InputMediaStream_FFMPEG/OutputMediaStream_FFMPEG;
cap_images.cpp , 定义实现了基于图像集的CvCapture_Images和CvVideoWriter_Images实现;
cap_vfw.cpp , 定义实现了基于vfw框架的camera于opencv的抽象实现CvCaptureAVI_VFW(仅用于AVI),CvCaptureCAM_VFW,CvVideoWriter_VFW;
loadsave.cpp , 定义了图像codec集合;imread,imwrite,imencode,imdecode的实现;cvLoadImage,cvSaveImage,cvEncodeImage,cvDecodeImage的实现,此4个函数基于imread函数族;
precomp.cpp,precomp.hpp , 定义CvCapture,CvVideoWriter,以及一系列的create API;这个头文件同时是类似于stdafx的预编译头文件;
utils.hpp/utils.cpp , 定义了BGR2Gray,Gray2BGR,BGRA2RGBA,CMYK2Gray等类型的函数(注:此处与imgproc中的颜色空间转换不同,这里仅是RGB颜色空间中的相关调整操作),以及FillColorRow8等填充函数;
window.cpp ,实现了窗口/控件/事件/回调的操作函数,包括win32(Windows),QT(跨平台),gtk(Linux),carbon(Mac)窗口系统的实现;
window_w32 ,windows平台的窗口/控件/事件/回调的实现;
window_QT.cpp,window_gtk.cpp,window_carbon.cpp,window_cocoa.mm 相应平台的窗口/控件/事件/回调的实现;
待续 。。。
[OpenCV] HighGUI的更多相关文章
- opencv_java import org.opencv.highgui.Highgui,类中无imread方法
opencv_java import org.opencv.highgui.Highgui,提示错误 2018年01月19日 14:50:25 小码农的路程 阅读数:358 原因:1.OpenCV ...
- OpenCV —— HighGUI
分为:硬件相关部分,文件部分以及图形用户接口部分 创建窗口 —— cvNamedWindow 若设置成 CV_WINDOW_AUTOSIZE 窗口大小会随着图像的载入而根据图像大小调整,用户没办法手动 ...
- 树莓派上Opencv highgui的问题
错误描述:https://bbs.csdn.net/topics/394616975?page=1#post-409508178 解决方案:直接改系统环境变量 # vim /etc/profile e ...
- opencv在图像显示中文
在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <op ...
- Atitit 图像处理 调用opencv 通过java api attilax总结
Atitit 图像处理 调用opencv 通过java api attilax总结 1.1. Opencv java api的支持 opencv2.4.2 就有了对java api的支持1 1. ...
- opencv 抠图联通块(c接口)
#include "stdio.h" #include "iostream" #include "opencv/cv.h" #include ...
- opencv基于混合高斯模型的图像分割
#include "stdafx.h" #include <opencv\cv.h> #include <opencv\highgui.h> #includ ...
- opencv统计二值图黑白像素个数
#include "iostream" #include "queue" #include "Windows.h" #include < ...
- Opencv CamShift+Kalman目标跟踪
#include "stdio.h" #include "string.h" #include "iostream" #include &q ...
随机推荐
- 日常开发中常见的HTTP协议的状态码
301Moved Permanently请求的网页已永久移动到新位置.服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将申请人转到新位置.您应使用此代码告诉 Googlebot 某个 ...
- Windows下提升进程权限
windows的每个用户登录系统后,系统会产生一个访问令牌(access token) ,其中关联了当前用户的权限信息,用户登录后创建的每一个进程都含有用户access token的拷贝,当进程试图执 ...
- 使用ThreadPool代替Thread
线程的空间开销 线程内核对象.包含上下文信息.32位系统占用700字节 线程环境块.包括线程的异常处理链.32位系统占用4KB 用户模式栈.保存方法的参数.局部变量和返回值 内核模式栈.调用操作系统的 ...
- C语言:stat,fstat和lstat函数
这三个函数的功能是一致的,都用于获取文件相关信息,但应用于不同的文件对象.对于函数中给出pathname参数,stat函数返回与此命名文件有关的信息结构,fstat函数获取已在描述符fields上打开 ...
- Android中GPS类及方法简介
GPS是Global Positioning System(全球定位系统)的简称,它的作用就是为全球的物体提供定位功能.GPS定位是一门高新技术,但对于Android程序员来说,开发GPS功能的应用程 ...
- android获取本机的IP地址和mac物理地址
/获取本机IP地址 public String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemServi ...
- 【Cocos2d-x】VS2012开发2dx无法解析的外部符号解决记录(第一篇)【转】
come from http://acoder.me/cocos2d-unresolved-external-symbol.html 看到cocos2d-x带了扩展包,心动的想尝试下,以下分享下我使用 ...
- 【Vegas原创】EXCEL光标所在的行自动变色
方法: 1,excel中,按Alt+F11,打开VBA编辑界面,双击需要改的工作表名称,将下面代码粘贴到右边框中,即可. 2,代码: Private Sub Worksheet_Selection ...
- MongoDB副本集配置系列九:MongoDB 常见问题
What is a namespace in MongoDB? If you remove a document, does MongoDB remove it from disk? When doe ...
- Hadoop - 实时查询Drill
1.概述 在现实业务当中,存在这样的业务场景,需要实时去查询HDFS上的相关存储数据,普通的查询(如:Hive查询),时延较高.那么,是否存在时延较小的查询组件.在业界目前较为成熟的有Cloudera ...