用OpenCV实现键盘控制小球的移动
导师布置的第一个任务,此前对计算机视觉一窍不通
实现比较简单,只要稍微了解了opencv中诸如Mat, Rect类的就可以完成,非常适合新手熟悉用
#include <opencv.hpp>
using namespace cv;
Mat org = imread("D:\\openCV\\ball.png", 1); //读入彩色图片
const int cols = org.cols;
const int rows = org.rows;
Mat back = Mat::zeros(rows * 3, cols * 4, CV_8UC3); //背景
int x = 0;
int y = 0;
void refresh() { //重绘背景和小球
back.setTo(Scalar(255, 255, 255)); //背景设置白色
Rect rect(x, y, cols, rows); //创建和小球大小相等的矩形区域,初始坐标(0,0)
org.copyTo(back(rect)); //将小球copy到背景上,以矩形初始化
}
int main() {
if (org.empty()) return -1;
int flag = 1;
while (flag) {
refresh();
char key = waitKey(0);
switch (key) {
case 'w':
y -= 50; //改变小球坐标
if (y < 0) y = 0;
refresh();
break;
case 'a':
x -= 50;
if (x < 0) x = 0;
refresh();
break;
case 's':
y += 50;
if (y > rows * 2) y = rows * 2;
refresh();
break;
case 'd':
x

本文介绍如何利用OpenCV库实现一个简单的功能,即通过键盘控制小球在屏幕上移动。这个项目适合初学者,能帮助理解OpenCV中的Mat和Rect类。
最低0.47元/天 解锁文章
4218

被折叠的 条评论
为什么被折叠?



