opencv编写笔记

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

建工程步骤省略!!!!!!

1、项目—demo(自己取项目名称)属性---配置属性—VC++目录—包含目录:D:\opencv\opencv\build\include;)

2、配置属性—VC++目录—库目录:D:\opencv\opencv\build\x86\vc10\lib

3、链接器—输入—附加依赖项—添加一下这些(针对Debug调试):

opencv_ml2410d.lib

opencv_calib3d2410d.lib

opencv_contrib2410d.lib

opencv_core2410d.lib

opencv_features2d2410d.lib

opencv_flann2410d.lib

opencv_gpu2410d.lib

opencv_highgui2410d.lib

opencv_imgproc2410d.lib

opencv_legacy2410d.lib

opencv_objdetect2410d.lib

opencv_ts2410d.lib

opencv_video2410d.lib

opencv_nonfree2410d.lib

opencv_ocl2410d.lib

opencv_photo2410d.lib

opencv_stitching2410d.lib

opencv_superres2410d.lib

opencv_videostab2410d.lib

◆按F5运行,若出现这样的情况:无法找到系统文件,缺少…..demo.exe程序。则需

下载tbb41_20130314oss_win.zip

,将其解压后文件夹中包含的bin文件夹,

复制到D:\opencv\opencv\build\common\tbb里;若还不行,可关掉当前文件,重新建立新项目,再进行配置!

◆完成以后,计算机属性---高级系统设置—环境变量---选择path—双击—添加路径:

D:\opencv\opencv\build\x86\vc10\bin;D:\opencv\opencv\build\common\tbb\ia32\vc

10

配置完成!!!!!!

永久的配置:

上述步骤创建的两个属性表OpenCV_debug_property.props和OpenCV_release_property.props保存到一个常用的文件夹中。当创建新工程时,只需在属性管理器中添加上述两个属性表就可,快速完成配置OpenCV的步骤。

学习笔记:

加载图像并显示的程序:

没有把include文件夹里的opencv与opencv2文件夹添加到包含目录下。出现“无法打开源文件”的错误提示(红波浪线)。

●加载播放AVI视频:理解了程序以及各个函数意义:

●载入图像并平滑处理:

这个问题如何解决??改成了

这个!!!!!

载入彩色图像,变为灰度图像,并缩小图像2次,然后进行边缘检测:

高斯滤波算法处理:处理前处理后

主要程序:

中值滤波处理:

处理前处理后

主要程序:

领域平均滤波:

处理前:处理后

下图为小波变换后的图像,通过自己建立小波变换函数与逆变换函数,对任意大小的彩色图像进行任意层次的变换。具体代码已有注释说明,遇到几个问题:

1、刚开始将DWT函数与IDWT函数放在了main函数之后,程序运行

时出现错误:无法找到DWT与IDWT标识符;然而将两个子函数放

在了main函数之前,运行就正确了,但此时还没有图像显示。

2、1正确以后,没有图像显示,我又再最后加了一句cvWaitKey(0);的

语句,再运行,就出现了结果,基本正确。

3、我想连原图一起显示,可是试了好多都不行!!!

小波变换的滤波方法:将原始图像在水平、垂直和对角线方向进行小波分解,将图像分解为1个低频图像和3个高频图像,属于频域滤波!

基本过程:小波变换分解—设置一定的阈值对小波系数进行处理—小波逆变换得到空域图像。

处理前小波变换后

彩色图像直方图均衡化:

原始图像直方图化均衡后

对比度线性展宽:

载入原图如下所示(按着顺序来的):

转换成灰色图像,如下所示:

刚开始我写的程序,在求存放图像各个灰度级出现的次数的时候,将x,y变量的范围只取到了256,所以造成最后变换的图像无法将我载入的图像的所有像素显示完,所以出现了如下结果的照片:

结果经查找资料后发现,x与y的取值范围应该这样来取(选取输入图像的宽度和高度的范围),才能保证载入的图像的所有灰度级都被计算完整:

将程序改成这样以后,再运行,就能的到一张完整的经过对比度调整的图像:

本来打算加几行代码,也显示对比度增强的彩色图像,结果发现按照我自己的想法加上代码,变成了这样:右侧的全灰是因为取得255造成的;而且我还觉得图像好像都左右颠倒一下,这是为什么???彩色依然显示灰色是因为只有一个通道

“3“是”1“的时候

将1通道改成3了以后,为什么只会显示一半的彩色图像???

把3改成了4,没有彩色,反而有种加了颜色的感觉;就变成了这个样子的了!!!!!

彩色对比度增强的程序:,没成功:::

后面的程序就是对比度增加的程序了!!!!!!!

int main()

{

IplImage*in_color=cvLoadImage("pp.jpg",-1);//载?入¨?图ª?像?

cvNamedWindow("原-图ª?",CV_WINDOW_AUTOSIZE);

cvShowImage("原-图ª?",in_color);

IplImage*Y=cvCreateImage(cvGetSize(in_color),IPL_DEPTH_8U,1);

IplImage*Cb=cvCreateImage(cvGetSize(in_color),IPL_DEPTH_8U,1);

IplImage*Cr=cvCreateImage(cvGetSize(in_color),IPL_DEPTH_8U,1);

IplImage*Compile_Ycbcr=cvCreateImage(cvGetSize(in_color),IPL_DEPTH_8U,3);

IplImage*dst1=cvCreateImage(cvGetSize(in_color),IPL_DEPTH_8U,3);

int i;

cvCvtColor(in_color,dst1,CV_BGR2YCrCb);///CV_BGR2YCrCb=36* Constants for color

相关文档
最新文档