`
haoningabc
  • 浏览: 1476800 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

opencv的helloworld

阅读更多
参考
http://blog.csdn.net/tmxyz1950/article/details/19031893
http://blog.csdn.net/morewindows/article/details/8225783/
http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html
工具
vs2013 opencv2.4.9  64位win7操作系统

1.vs2013新建项目



安装完opencv后
需要把E:\tools\opencv2410\opencv\build\x64\vc12\bin
加到环境变量PATH中
否则运行时找不到dll文件
2设置属性
选择“空项目”》完成,接着找到“属性管理器”,如果没有的话就在“视图”》属性管理器


之后便是双击“Debug | Win32”打开“Debug属性页”,选择“VC++目录”


配置 include的的路径 为opencv解压路径下的
E:\vs\opencv\build\include


配置 include的的路径 为opencv解压路径下的
E:\vs\opencv\build\x64\vc12\lib
由于我的是64位win7,所以选x64

选连接器
Debug Property Pages
Linker
Input
Additional Dependencies



注意,我们选的是debug,所以每个lib都是以d结尾的,如果我们选的是release,则没有d
例如,重复上面所有的对release| Win32进行操作



有时候需要这是链接库,但是会慢
看情况设置吧,如果不选,第一次运行可能会报错
工具--》选项--》》调试--》符号


3,新建个显示图片的helloworld
在Source file上右键,新建  new item ,选c++.cpp

代码如下
#include <opencv2/opencv.hpp>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")//运行时不显示DOS框
int main()
{
	const char *pstrImageName = "pp.jpg";
	const char *pstrWindowsTitle = "Demo";
	IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);//从文件中读取图像
	cvNamedWindow(pstrWindowsTitle, 0);	//创建窗口
	cvShowImage(pstrWindowsTitle, pImage);	//在指定窗口中显示图像
	cvWaitKey();//等待按键事件
	cvDestroyWindow(pstrWindowsTitle);//销毁对话框,释放空间
	cvReleaseImage(&pImage);
	return 0;
}

另外把一张jpg的图片放到工程目录下

运行之前设置64为运行



F5运行


附录:
其中的库为
opencv_core249d.lib
opencv_imgproc249d.lib
opencv_highgui249d.lib

后续参考http://wiki.opencv.org.cn/index.php/OpenCV_%E7%BC%96%E7%A8%8B%E7%AE%80%E4%BB%8B%EF%BC%88%E7%9F%A9%E9%98%B5/%E5%9B%BE%E5%83%8F/%E8%A7%86%E9%A2%91%E7%9A%84%E5%9F%BA%E6%9C%AC%E8%AF%BB%E5%86%99%E6%93%8D%E4%BD%9C%EF%BC%89
缩放图片的例子
#include <opencv2/opencv.hpp>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")//运行时不显示DOS框
int main()
{
	const char *pstrImageName = "pp.jpg";
	const char *pstrSaveImageName = "save.jpg";
	double fScale = 0.314;      //缩放倍数  
	CvSize czSize;              //目标图像尺寸 

	const char *pstrWindowsTitle = "Demo";
	IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);//从文件中读取图像
	IplImage *pDstImage = NULL;
	czSize.width = pImage->width * fScale;
	czSize.height = pImage->height * fScale;
	pDstImage = cvCreateImage(czSize, pImage->depth, pImage->nChannels);
	cvResize(pImage, pDstImage, CV_INTER_AREA);
	cvNamedWindow("this title", CV_WINDOW_AUTOSIZE);
	cvShowImage("this title", pDstImage);

	cvNamedWindow(pstrWindowsTitle, 0);	//创建窗口
	cvShowImage(pstrWindowsTitle, pImage);	//在指定窗口中显示图像
	cvWaitKey();//等待按键事件
	cvDestroyWindow(pstrWindowsTitle);//销毁对话框,释放空间
	cvReleaseImage(&pImage);
	return 0;
}


边缘检测:
// 图像的Canny边缘检测
//By MoreWindows (http://blog.csdn.net/MoreWindows)  
#include <opencv2/opencv.hpp>  
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")  
IplImage *g_pSrcImage, *g_pCannyImg;
const char *pstrWindowsCannyTitle = "边缘检测图(http://blog.csdn.net/MoreWindows)";
//cvCreateTrackbar的回调函数  
void on_trackbar(int threshold)
{
	//canny边缘检测  
	cvCanny(g_pSrcImage, g_pCannyImg, threshold, threshold * 3, 3);
	cvShowImage(pstrWindowsCannyTitle, g_pCannyImg);
}
int main()
{
	const char *pstrImageName = "pp.jpg";
	const char *pstrWindowsSrcTitle = "原图(http://blog.csdn.net/MoreWindows)";
	const char *pstrWindowsToolBar = "Threshold";

	//从文件中载入图像的灰度图CV_LOAD_IMAGE_GRAYSCALE - 灰度图  
	g_pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_GRAYSCALE);
	g_pCannyImg = cvCreateImage(cvGetSize(g_pSrcImage), IPL_DEPTH_8U, 1);

	//创建窗口  
	cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
	cvNamedWindow(pstrWindowsCannyTitle, CV_WINDOW_AUTOSIZE);

	//创建滑动条  
	int nThresholdEdge = 1;
	cvCreateTrackbar(pstrWindowsToolBar, pstrWindowsCannyTitle, &nThresholdEdge, 100, on_trackbar);

	//在指定窗口中显示图像  
	cvShowImage(pstrWindowsSrcTitle, g_pSrcImage);
	on_trackbar(1);

	//等待按键事件  
	cvWaitKey();

	cvDestroyWindow(pstrWindowsSrcTitle);
	cvDestroyWindow(pstrWindowsCannyTitle);
	cvReleaseImage(&g_pSrcImage);
	cvReleaseImage(&g_pCannyImg);
	return 0;
}

效果
  • 大小: 77.4 KB
  • 大小: 37.2 KB
  • 大小: 26.3 KB
  • 大小: 72.2 KB
  • 大小: 125.8 KB
  • 大小: 121.6 KB
  • 大小: 88.2 KB
  • 大小: 209.3 KB
  • 大小: 103.7 KB
  • 大小: 116.3 KB
  • 大小: 77.7 KB
  • 大小: 48.9 KB
  • 大小: 98.5 KB
  • 大小: 90.6 KB
  • 大小: 148.6 KB
  • 大小: 70.1 KB
分享到:
评论

相关推荐

    OpencvHelloWorld

    cv::imshow("OpenCV HelloWorld", img); // 显示图片 cv::waitKey(0); // 等待用户按键,0表示无限等待 cv::destroyAllWindows(); // 关闭所有窗口 return 0; } ``` 在这个程序中,我们使用`imread`函数读取...

    ios的opencv的helloworld

    这篇博客“ios的opencv的helloworld”可能介绍了如何在iOS应用中引入OpenCV库,并实现一个简单的HelloWorld示例。OpenCV(开源计算机视觉库)是一个强大的工具,用于图像和视频分析、处理以及计算机视觉算法的实现。...

    hello world 的opencv

    hello world 的opencv

    OpenCVBouncer:一个简单的OpenCV“ Hello World”,可让您使用相机在屏幕上弹跳球

    OpenCV你好世界 这只是Processing 3中的一个简单的OpenCV项目,它跟踪前景对象中的运动,并使用它来允许这些运动来回移动弹跳球。 绘制一个球,并绘制任何前景对象。 通过移动前景对象(如手),可以在屏幕上移动球...

    androidNDK helloworld

    这个"androidNDK helloworld"资源就是一个入门级别的示例,旨在帮助初学者理解如何在Android项目中集成和使用NDK。下面将详细讲解Android NDK的基础知识以及如何创建并运行一个简单的"Hello, World!"程序。 首先,...

    NDK_Helloworld_DEMO

    "NDK_Helloworld_DEMO"就是一个入门级的示例,旨在帮助初学者理解NDK的基本用法。 1. **NDK简介** NDK是Google提供的一个开源工具,用于在Android平台上编译和运行原生代码。与Java SDK不同,NDK允许开发者直接...

    使用gradle创建opencv项目

    public class HelloWorld { public static void main(String[] args) throws Exception { NativeLoader.loadLibrary(Core.NATIVE_LIBRARY_NAME);//关键步骤不能使用System.loadLibrary Mat hello = Mat.zeros(3, ...

    matconvnet_helloworld

    通过"matconvnet_helloworld"这样的简单示例,我们可以逐步掌握CNN的原理和实践,为进一步深入学习和研究打下坚实基础。无论你是MATLAB的老手还是新手,MatConvNet都能让你在深度学习的道路上走得更远。

    OpenCV学习笔记(基于OpenCV_2.4)一:哈喽CV

    一个简单的OpenCV程序通常从读取和显示图像开始,这就是所谓的“HelloWorld”。这段代码展示了如何使用OpenCV打开一个图像文件并显示它,从而帮助初学者理解基本的图像操作。 ```cpp #include &lt;opencv2/opencv.hpp&gt;...

    OpenCV 4.5计算机视觉开发实战(基于VC++)第2章--第9章源码下载

    - 创建测试程序:编写一个简单的“Hello, OpenCV”程序,验证环境配置是否成功。 2. **第3章:核心模块core** - Mat数据结构:OpenCV的核心数据结构,用于存储图像和其他多维数组。 - 数据类型:了解各种像素...

    opencv3.4.rar

    4. 链接器输入(Linker/Input)中,添加所需的lib文件,如opencv_world340.lib。 OpenCV支持多种图像和视频格式的读写,提供了丰富的图像处理功能,如图像缩放、旋转、颜色转换、滤波、边缘检测、特征匹配等。此外...

    OpenCV2.3.1 win版安装包 完整版

    比如,你可以尝试运行"hello_world.cpp",这是一个简单的程序,用于加载、显示和保存图像,这将帮助你熟悉OpenCV的基本操作。 OpenCV 2.3.1提供的API广泛而强大,涵盖了图像处理的各个方面,如图像读取和显示、颜色...

    OpenCV+编程入门.pdf

    文件中还包含了一个简单的示例代码,即hello-world.cpp。这个程序加载了一张图像,并创建了一个窗口用于显示它。通过对图像数据的直接操作,实现了图像的简单变换。 7. OpenCV的应用和资源 OpenCV的应用领域包括...

    Qt+opencv+VS实例.rar

    在文件名`helloworld`中,虽然没有明确说明,但通常在编程示例中,"helloworld"代表一个入门级别的程序,用于展示基础的代码结构和运行流程。在这个项目中,它可能是主程序或包含主函数的源代码文件,负责初始化Qt...

    opencv vs2010配置文档

    1. **创建测试项目**:在`D:\opencv2.3.1\opencv`目录下创建一个名为`helloworld`的文件夹。 2. **编写代码**:在`helloworld`文件夹中创建一个名为`Helloworld.cpp`的文件,并复制示例代码。 3. **设置CMakeLists....

    xcode中应用opencv开发iphone的应用程序

    在这个例子中,我们以"HelloWorld_CV"为例,创建一个简单的“Hello, World!”应用程序,同时展示OpenCV的功能。项目中,我们需要导入OpenCV框架,例如在Objective-C中使用`#import &lt;opencv2/opencv.h&gt;`,在Swift中...

    配置vs2013 opencv.zip_VS2013_opencv配置vs2013_vs2013 opencv

    具体库文件根据OpenCV版本和你选择的模块可能会有所不同,但通常包括`opencv_world3.x.x.lib`(x代表版本号)。 8. **编写代码并测试** 现在你可以开始编写使用OpenCV的代码了。例如,简单的“Hello, OpenCV”程序...

    OpenCV3.0官方帮助文档

    对于初学者,可以从"Getting Started"教程开始,了解如何安装OpenCV,配置开发环境,并编写第一个“Hello, World!”级别的图像显示程序。随着对库的熟悉,可以逐步深入到更复杂的领域,如图像分析、特征匹配、目标...

    HelloWorld:10 队的 HelloWorld

    【标题】"HelloWorld:10 队的 HelloWorld" 提到的是一个项目或程序,可能是一个编程竞赛或团队合作的成果,其中“10 队”可能指的是参与的团队数量,而“HelloWorld”是编程界的一个传统示例,通常用于教学和测试...

    opencv 2.4.10_vs2008_x86库

    6. **示例和教程**:OpenCV官方文档提供了一系列的教程和示例代码,帮助开发者快速上手,例如“Hello, World!”的图像显示程序,或者简单的边缘检测、颜色转换等操作。 7. **应用领域**:OpenCV库广泛应用于机器人...

Global site tag (gtag.js) - Google Analytics