美文网首页
计算摄影学实验一实验报告

计算摄影学实验一实验报告

作者: 小浪明 | 来源:发表于2017-02-27 20:00 被阅读0次

实验环境

Windows操作系统、Visual Studio 2015、OpenCV 3.2.0

安装OpenCV

从官方网站下载OpenCV的最新版本,这次版本是3.2.0。

注:从Chrome下载会碰到下载的安装包不完整的情况,同时Chrome不支持断点续传,所以推荐用迅雷进行下载,下载方法:在Chrome下载目录中找到OpenCV的下载链接,打开迅雷新建任务即可。

Hello,OpenCV

使用OpenCV 3.2.0的配置过程

  1. 右键项目->属性,将配置改成所有配置,将平台改为所有平台;

  2. 在左侧目录栏中选择VC++目录,在右侧的包含目录下拉项中点选编辑,在弹出的窗口中添加三个工作路径:
    opencv/build/include opencv/build/include/opencv opencv/build/include/opencv2

  3. 在库目录中,添加两个工作路径
    opencv/build/x64/vc14 opencv/build/x64/vc14/lib

  4. 接下来,在左侧找到链接器->输入,在右侧的附件依赖项中添加需要链接到的OpenCV库(lib.)文件
    注:在VS2015以及OpenCV3.2.0的条件下,只需要添加一个库文件opencv_world320d.lib即可

  5. 之后即可以编译运行程序,不过需要将程序需要的动态链接库(.dll)放在和可执行程序(.exe)同一目录下,否则不能运行。

操作OpenCV数据

使用image.at<...>()访问图像中的像素

image.at<Vec3b>(i, j)
图像的通道数为4(png图像,RGBA,A为透明度)

遍历image的像素,将图片的白色部分修改为黑色

    Vec3b black = { 0, 0, 0 };
    Vec3b white = { 0xff, 0xff, 0xff };
    for (int i = 0; i < image.rows; i++) {
          for (int j = 0; j < image.cols; j++) {
                if (image.at<Vec3b>(i, j) == white)
                    image.at<Vec3b>(i, j) = black;
                }
        }    
    }

图像的长和矩阵的行数是一样的,图像的宽乘以通道数就是矩阵的列数。

修改程序,将image反色

    Mat reverse(image.size(), image.type(), Scalar(255, 255, 255));
    image = reverse - image;

方法就是新建一个和image大小一样但是全白色的新矩阵,然后用新矩阵去减image得到反色的image

构造矩阵,并计算其逆矩阵

    Mat Mat32(32, 32, CV_32FC1);
    for (int i = 0; i < 32; i++) {
        for (int j = 0; j < 32; j++) {
            if (i == j)Mat32.at<float>(i, j) = 2;
            else if (i - 1 == j || i + 1 == j)Mat32.at<float>(i, j) = -1;
            else Mat32.at<float>(i, j) = 0;
        }
    }
    Mat32 = Mat32.inv();
    Mat result;
    normalize(Mat32, result, 1.0, 0.0, CV_MINMAX);

normalize函数就是用来重新映射得到灰度图的方法。将最小值设为黑,最大值设为白。

相关文章

  • 计算摄影学实验一实验报告

    实验环境 Windows操作系统、Visual Studio 2015、OpenCV 3.2.0 安装OpenCV...

  • 实验三

    西 安 邮 电 大 学 (计算机学院) 操作系统课内实验报告 实验名称:线程实验 专业名称:计算机科学与技术 班 ...

  • 实验四

    西 安 邮 电 大 学 (计算机学院) 操作系统课内实验报告 实验名称:互斥 专业名称:计算机科学与技术 班 级:...

  • 2019-06-21

    今天复习计算机网络专业课,并且写了实验报告

  • 2019-06-21

    今天复习计算机网络专业课,并且写了实验报告

  • 实验一

    西 安 邮 电 大学 (计算机学院) 操作系统课内实验报告 实验名称:熟悉Linux操作系统 专业名称:计算机科学...

  • 张杰兵

    C语言实验报告 一 实验题目 1·体型判断2·简单的计算器3·身高预测 二 实验目的 掌握 if else s...

  • 实验二

    西 安 邮 电 大学 (计算机学院) 操作系统课内实验报告 实验名称:进程 专业名称:计算机科学与技术 班 级:计...

  • 实验

    实验实验报告

  • Cisco实验报告

    ·Cisco实验报告 实验...

网友评论

      本文标题:计算摄影学实验一实验报告

      本文链接:https://www.haomeiwen.com/subject/gnljwttx.html