当前位置:   article > 正文

【Windows】opencv3.0.0 for vs2013_opencv3.0下载

opencv3.0下载

1、下载并安装opencv3.0.0和vs2013;

附:opencv各版本下载地址

2、为opencv3.0.0配置环境;

a. 查看安装路径,如下: 

b. 配置环境变量:右键我的电脑 >> 属性 >> 高级系统设置 >> 环境变量 >> 系统变量中双击<Path>新建两个路径添加opencv的lib文件的路径;

3、生成配置文件模板;

a. 新建项目(win32控制台应用程序并添加c++文件);

b. 视图 >> 其他窗口 >> 属性管理器 >> 右键Debug丨Win32 >> 添加新项目属性表;

c、命名为opencv_debug,路径默认;

d、右键opencv_debug >> 属性,或直接双击opencv_debug打开属性页;

e、在包含目录和库目录中分别添加以下路径;

f、链接器 >> 输入 >> 附加依赖项中手动添加如下:

g、右键Release丨Win32属性,链接器 >> 输入 >> 附加依赖项中手动添加如下:

4、测试代码如下:

(自行修改49行图像文件名称及格式)

  1. #include <core/core.hpp>
  2. #include <highgui/highgui.hpp>
  3. #include <math.h>
  4. #include<iostream>
  5. using namespace cv;
  6. using namespace std;
  7. void expone(char *imagesrc){//Ip1Image的方式读取,课本源码
  8. CvPoint center;
  9. double scale = -3;
  10. IplImage* image = cvLoadImage(imagesrc);
  11. if (!image) return;
  12. center = cvPoint(image->width / 2, image->height / 2);
  13. for (int i = 0; i<image->height; i++)
  14. for (int j = 0; j<image->width; j++) {
  15. double dx = (double)(j - center.x) / center.x;
  16. double dy = (double)(i - center.y) / center.y;
  17. double weight = exp((dx*dx + dy*dy)*scale);
  18. uchar* ptr = &CV_IMAGE_ELEM(image, uchar, i, j * 3);
  19. ptr[0] = cvRound(ptr[0] * weight);
  20. ptr[1] = cvRound(ptr[1] * weight);
  21. ptr[2] = cvRound(ptr[2] * weight);
  22. }
  23. cvSaveImage("copy.png", image);
  24. cvNamedWindow("test", 1);
  25. cvShowImage("test", image);
  26. cvWaitKey();
  27. }
  28. void exptwo(char *imagesrc){//Mat方式进行读取
  29. Mat image = imread(imagesrc);
  30. if (!image.data)return;
  31. double scale = -3;
  32. CvPoint center = cvPoint(image.rows / 2, image.cols / 2);
  33. for (int i = 0; i < image.cols; i++){
  34. for (int j = 0; j < image.rows; j++){
  35. double dx = (double)(j - center.x) / center.x;
  36. double dy = (double)(i - center.y) / center.y;
  37. double weight = exp((dx*dx + dy*dy)*scale);
  38. for (int k = 0; k < 3; k++){
  39. image.at<Vec3b>(j, i)[k] *= weight;//特别注意要从每行开始读取否则会出现错误
  40. }
  41. }
  42. }
  43. imwrite("mate.png", image);
  44. imshow("test", image);
  45. waitKey();
  46. }
  47. int main(){
  48. char *imagesrc = "../test.png";//相对路径
  49. int ch = 0;
  50. ///简陋菜单///
  51. do{
  52. cout << "1.IplImage方式显示" << endl;
  53. cout << "2.Mat方式显示" << endl;
  54. cout << "0.退出" << endl;
  55. cin >> ch;
  56. switch (ch)
  57. {
  58. case 1:expone(imagesrc); break;
  59. case 2:exptwo(imagesrc); break;
  60. }
  61. } while (ch != 0);
  62. return 0;
  63. }

测试结果如下:

5、其他项目可以直接添加现有属性表;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/132729
推荐阅读
相关标签
  

闽ICP备14008679号