OpenCV编程任务与图像处理技巧

1、下载并安装最新版本的OpenCV。以调试和发布模式编译它。

从OpenCV主站点( https://opencv.org/downloads.html )可下载最新版本的完整源代码。Windows用户可点击该页面链接下载可执行文件(自解压存档,包含针对不同版本Visual Studio的预构建OpenCV二进制文件)。

现代OpenCV使用Git进行版本控制,CMake进行构建。很多环境有编译好的库,但要以调试和发布模式编译,可能需自行操作。由于Windows发行版只有发布版本的二进制库,没有调试版本,因此开发前可能要打开解决方案文件自行构建这些库。

2、使用 Git 下载并构建 OpenCV 的最新主干版本。

在 Windows 上,若要从 Git 仓库获取最新的 OpenCV,需要访问目录
https://github.com/opencv/opencv.git ;在 Linux 上,可使用命令:

git clone https://github.com/opencv/opencv.git

关于构建,现代 OpenCV 使用 CMake 进行构建。在很多情况下,由于许多环境都有预编译的库,无需担心构建问题。但作为高级用户,可能需要根据应用程序的特定选项重新编译库。

在 OS X 上安装与 Linux 类似,可通过向 CMake 传递 -G Xcode 选项来生成 Xcode 项目,以方便在 Xcode 中构建和调试代码。

3、前往你构建的 …/opencv/samples/ 目录的位置(这里假设在 …/trunk/eclipse_build/bin 中构建),查找 lkdemo.cpp(这是一个示例运动跟踪程序)。将相机连接到你的系统并运行代码。选中显示窗口后,按 r 键初始化跟踪。可以通过鼠标点击视频画面来添加跟踪点。还可以通过按 n 键切换到只查看跟踪点(不查看图像),再次按 n 键将在“夜间”和“日间”视图之间切换。请描述完成上述操作的步骤。

以下是按照要求调整为 Markdown 格式的内容:


你需要按照以下步骤操作:

  1. 找到构建 .../opencv/samples/ 目录的位置(示例为 .../trunk/eclipse_build/bin ),并找到 lkdemo.cpp 文件。
  2. 将相机连接到系统。
  3. 运行 lkdemo.cpp 代码。
  4. 选中显示窗口,按 r 键初始化跟踪。
  5. 通过鼠标点击视频画面添加跟踪点。
  6. n 键切换到只查看跟踪点,再次按 n 键在“夜间”和“日间”视图之间切换。

4、创建一个 500×500 的单通道无符号字符型(uchar)图像,且每个像素值都为零。

在OpenCV中可以使用以下代码实现:

cv::Mat image(500, 500, CV_8UC1, cv::Scalar(0));

其中 CV_8UC1 表示单通道无符号字符型, cv::Scalar(0) 将所有像素初始化为0。

5、我们想创建一个函数,通过创建一个统计图像来高效对图像中的矩形区域求和,其中每个“像素”保存从该点到图像原点的矩形的总和,这些被称为积分图像。请说明如何创建积分图像以及如何利用积分图像确定图像中任何矩形区域的总和。

可以按照以下步骤操作:

  1. 首先,逐行遍历原始图像,利用已计算的积分图像值和当前原始图像像素值来计算下一个积分图像值,公式为:

$$
I’(x, y) = I(x, y) - I(x - 1, y) - I(x, y - 1) + I(x - 1, y - 1)
$$

  1. 然后,若要计算由角点 $(x_1, y_1)$ 和 $(x_2, y_2)$(其中 $x_2 > x_1$ 且 $y_2 > y_1$)描述的简单矩形区域的总和,可使用公式:

$$
\sum_{y_1 \leq y < y_2} \sum_{x_1 \leq x < x_2} \text{image}(x, y) = \text{sum}(x_2, y_2) - \text{sum}(x_1, y_2) - \text{sum}(x_2, y_1) + \text{sum}(x_1, y_1)
$$

利用积分图像中对应的4个点的值来确定该矩形区域的总和。

6、创建一个100×200的单通道无符号字符型(uchar)图像,其像素值为随机数。创建一个100×200的单通道浮点型“积分图像”,其所有元素都为零。

在实际编程中,使用OpenCV库可以实现该需求。以下是示例代码:

#include <opencv2/opencv.h
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值