您的位置:首页 > 编程语言 > C语言/C++

从txt文件中逐行读取字符串,并且用读取到的字符串在Mat型的图片上画矩形

2016-05-02 01:39 543 查看

1.程序主要功能

从txt文件中逐行读取字符串

把字符串转换成整型的数值

把整形的数值赋值给一个点的横坐标和纵坐标

在一张图片上画矩形

opencv的使用

文件的读取过程

2.代码说明

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
const int window_width = 100;
const int window_height = 100;
char window_name[] = "ResultPicture";
void main()
{
RNG rng(0xFFFFFFFF);
Mat image = Mat::zeros(window_height, window_width, CV_8UC3);//初始化Mat矩阵
char s[16][20] = { 0 };
int num[16] = { 0 };
int i = 0;
FILE *fp;
fp = fopen("1.txt", "r");
Point pt[8];
for (int i = 0; i < 16; i++)
{
fscanf(fp, "%s", s[i]);
num[i] = atoi(s[i]);
}
fclose(fp);
for (int i = 0; i < 8; i++)
{
static int j = 0;
{
pt[i].x = num[j];
pt[i].y = num[j + 1];
j += 2;
}
}
for (int i = 0; i < 8; i += 2)
{
//rectangle(image, pt[i], pt[i + 1], Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255)), 2, 8);
rectangle(image, pt[i], pt[i + 1], Scalar(0,255,255), 2, 8);
}
imshow(window_name, image);
waitKey(0);
system("pause");
}


3.”1.txt”的内容



4.运行结果展示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息