【20160302】:对的,先解码。如opencv1中的cvloadimage函数就可以载入图片,该函数应该调用了highgui中的dll,其中在 opencv/modules/high/src/grfmt_jpeg.cpp文件中有关于jpg解码的相关代码实现。同目录下还有bmp,tiff等图片格式的解码文件。
还以调用第三方的图片解码函数?如opencv\3rdparty目录下就有jpeg解码的第三方的库。应该解码效率更高?
2、学会利用opencv取出图片中的某一点进行一些处理
【20160302】:
参考《学习opencv》中的例子3-12,以及iplimage数据结构,可以定位到哪一个像素,以及ROI。可以在vs2010的调试模式下观看图片载入前后iplimage结构体的变化
3、每个opencv函数内部的api是怎么实现,源码可查否?如sobel算子的实现在哪?
【20160302】:
opencv是开源的,内部api应该均有到c或者c++一级的源码。比如这里的jpeg解码。虽然写程序时根据vs2010工程只能追到api函数的声明,无法看到源码级。在观察变异输出窗口可以看到调用了dll文件。但是实际上是源码可查的。
主要在\opencv\modules目录下,比如\opencv\modules\imgproc 目录下就主要是关于图像处理的一些算法源码,opencv\modules\calib3d下面是关于3d姿态的源码。但是得自己去找了(貌似没有找到比较详细的关于2.3.1的官方手册?)
4、opencv的代码组织结构
5、如何了解一个算法所用的资源,运行速度
6、各种代码git工具
7、代码实践
a:借助opencv学习jpg图像的编解码
【20160302】下到一个代码,但是也是直接使用了opencv2中的imagemat?没有自己根据底层借助opencv的基本函数重现jpg的一步步编解码过程,与自己的目标设想不一致。另外采用了c++实现,自己对于c++的语法有点遗忘
b:学习人脸识别的例子c:剖析sift算法的opencv实现
d:adaboost等基本机器学习算法的了解
注:我使用的工具为opencv 2.3.1 和vs2010
预计完成时间:*****。后续解答会在本文后面更新