(1)Opencv之载入一幅图像并进行平滑处理

平台:32位Win7操作系统+VS2012+OpenCv2.4.4  

实验目的:实现对一幅图像的显示,并对图像进行平滑处理

问题描述:

1)可以显示图像,执行报错

错误提示:

1>main.obj : error LNK2019: 无法解析的外部符号 _cvSmooth,该符号在函数 "void __cdecl exemple2(struct _IplImage *)" (?exemple2@@YAXPAU_IplImage@@@Z) 中被引用
1>F:\vs2010\Project\OpenText\Debug\OpenText.exe : fatal error LNK1120: 1 个无法解析的外部命令

开始在网上找了有关的解决方法,发现很多opencv友也遇到了这样的问题,无法解析,我按照他们的方法操作:属性管理器——>Microsoft.Cpp.Win32.user(点击右键,属性)——>链接器——>输入中的附加依赖项添加opencv_video244d.lib后,可惜仍然没有解决问题。所以我判断是cvSmooth这个函数调用来源出现问题。可是就是不知道如何解决。(最后解决了好像和opencv_video244d.lib没有关系,我把它从附加依赖项中删除了也不影响它的运行实现)。

我尝试着在包含目录里添加这些项目,像imgproc,video等项,操作:属性管理器——>Microsoft.Cpp.Win32.user(点击右键,属性)——>VC++目录——>包含目录中添加两条路径D:\OpenCV2.4.4\opencv\build\include\opencv2    D:\OpenCV2.4.4\opencv\build\include\opencv2\imgproc,就没有在报出上面的错误,可是新的错误又出现了。

2)系统报错

 警示报错:显示系统报错,无法启动此程序,因为计算机中丢失opencv_imgproc244d.dll。尝试重新安装该程序以解决此问题。

丢失opencv_imgproc244d.dll。想到之前也遇到过这样的问题,一直到没有解决,以为是要下载一个.dll文件,可惜在网上找了好久都没有找到,可能使我用的vs2012比较新的版本,所以没有。实在没有办法只能去安装文件夹中去找找看,结果还真被我找到了。嘻嘻…………开心。D:\OpenCV2.4.4\opencv\build\x86\vc10\bin,于是我把opencv_imgproc244d.dll复制到C:\Windows\System32,问题就解决了,图像可以正确的输出了。

代码附件:

#include "stdafx.h"
#include "highgui.h"
#include "cv.h"

void example2_4(IplImage* image)
 { cvNamedWindow("Example4-in");
   cvNamedWindow("Example4-out");
   cvShowImage("Example4-in",image);
   IplImage* out=cvCreateImage(
    cvGetSize(image),
    IPL_DEPTH_8U,
    3
   );
  cvSmooth(image,out,CV_GAUSSIAN,3,3);
   cvShowImage("Example4-out",out);
   cvReleaseImage(&out);
   cvWaitKey(0);
   cvDestroyWindow("xEample4-in");
   cvDestroyWindow("Example4-out");
 }
 


int main(int argc, char ** argv)
{
 IplImage* img=cvLoadImage("food.jpg");
 cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
 cvShowImage("Examples1",img);
 example2_4(img);
 cvWaitKey(0);
 cvReleaseImage(&img);
 cvDestroyWindow("Example1");
}

试验结果展示:

 

 

 

 

转载于:https://www.cnblogs.com/study5201314/p/3164598.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值