OpenCV笔记4.3

2023-05-16

C++读取目录下所有文件名称

1、包含头文件`

#include <io.h>
#include <iostream> 

2、命名空间

using namespace std;

3、封装函数
建立f的引用vector<String> &f 遍历得到的文件夹目录存放在f中

void GetAllFileName(vector<String> &f) {
	_finddata_t file;
	intptr_t lf;//< 如果是long的话,win7没问题,win10有问题,保险还是用intptr_t

	if ((lf = _findfirst("miao-db\\labels\\train2017\\*.*", &file)) == -1)//输入文件夹路径
		cout << "Not Found!" << endl;
	else {
		while (_findnext(lf, &file) == 0)
			f.push_back(file.name);
	}
	_findclose(lf);

}

4、调用并将结果输出到屏幕

int main(){

	vector<String> f;
	GetAllFileName(f);
	for (int i = 0; i < f.size(); i++) {
		cout << f[i] << endl;
	}
}

5、结果(部分展示)
在这里插入图片描述

Mat类型的整体赋值

countA是Mat类型五行五列矩阵,aa是Mat类型五行一列矩阵。可以直接将aa赋值给countA,覆盖掉countA所有内容。

在这里插入图片描述

C++实现split函数

1、包含头文件

#include <iostream>
#include <sstream>
#include <vector>
#include <string>

2、命名空间

using namespace std;

3、封装函数

static void _split(const std::string &s, char delim,//自实现split分割函数
	std::vector<std::string> &elems) {
	std::stringstream ss(s);
	std::string item;

	while (std::getline(ss, item, delim)) {
		elems.push_back(item);
	}
}

std::vector<std::string> split(const std::string &s, char delim) {
	std::vector<std::string> elems;
	_split(s, delim, elems);
	return elems;
}

4、调用

	std::vector<std::string> x = split("0000.txt", '.');
	cout << x[0] << endl;
	
	String splitf = x[0] + ".png";
	cout << splitf << endl;

5、结果
在这里插入图片描述

坑坑坑!!!!OpenCV C++ 矩阵rectangle画矩形!

看了几篇博客,博主只介绍cv::rectanglecvRectangle的区别,但是没有介绍二者头文件的区别!!!
在声明了using namespace cv;空间后,调用cv::rectangle一直显示没有此成员,根据博主介绍,头文件

#include <iostream>
#include <opencv2\highgui\highgui.hpp>
cv::rectangle(matImage,cvPoint(20,200),cvPoint(200,300),Scalar(255,0,0),1,1,0);

显示没有rectangle此成员,更不用提别的。。。。
无奈去官方文档看了一下,吃了个教训,以后就算英文看不懂也需要以官方文档为准
opencv英文官方文档
在这里插入图片描述
需要包含头文件是这个呀!

#include <opencv2/imgproc.hpp>

对于参数,很明确的讲了,需要时Point类型。。。。

步骤:
1、头文件

#include <opencv2/imgproc.hpp>
Point a(2,3), b(3,5);
cv::rectangle(img, a, b, (255, 255, 0), 3);

调整矩形框颜色和文字颜色

cv::rectangle(img, a, b, cv::Scalar(238, 134, 28), 3);
cv::putText(img, s, c, cv::FONT_HERSHEY_COMPLEX, 1.5, cv::Scalar(0,0,205), 2);//Scalar颜BGR

在调用这两个函数时,根据其参数向调整一个好看的颜色标注,使用cv::Scalar(a,b,c),没看具体定义,很坑,发现a,b,c参数是BGR形式,需要自己调整一下
另外,RGB色彩,参考RGB颜色取值

今日进度:搞定

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV笔记4.3 的相关文章

  • pytesseract 无法按预期识别文本?

    我正在尝试通过 opencv 和 pytesseract 运行一个简单的车牌图像来获取文本 但我无法从中获取任何内容 按照此处的教程进行操作 https Circuitdigest com microcontroller projects
  • 如何在Python中删除图像的背景

    我有一个包含全角人类图像的数据集 我想删除这些图像中的所有背景 只留下全角人物 我的问题 有没有Python代码可以做到这一点 我是否需要每次都指定人员对象的坐标 这是使用 Python OpenCV 的一种方法 读取输入 转换为灰色 阈值
  • 使用 Python 和 OpenCV 改善图像歪斜校正

    我生成的用于检测和纠正偏差的代码给了我不一致的结果 我目前正在开展一个项目 该项目利用图像上的 OCR 文本提取 通过 Python 和 OpenCV 因此如果需要准确的结果 消除倾斜是关键 我的代码使用cv2 minAreaRect来检测
  • 使用高斯混合模型进行皮肤检测

    我正在根据以下进行皮肤检测算法本文 http www cc gatech edu rehg Papers SkinDetect IJCV lowres pdf 第 21 页有两个模型 高斯皮肤混合模型和非皮肤颜色模型 第一个皮肤检测模型效果
  • Tkinter 嵌套主循环

    我正在写一个视频播放器tkinter python 所以基本上我有一个可以播放视频的 GUI 现在 我想实现一个停止按钮 这意味着我将有一个mainloop 对于 GUI 还有另一个嵌套mainloop 播放 停止视频并返回 GUI 启动窗
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 将 Magick::Image 转换为 cv::Mat

    我正在尝试将通过 Magick 从 GIF 加载的图像转换为cv Mat 我已经从cv Mat to Magick Image但似乎无法找到如何从 Magick 中的图像中提取数据以便将其加载到 Mat 中 最好的方法是什么 供参考 反过来
  • Python OpenCV:检测大体运动方向?

    我仍在编写一个书籍扫描脚本 现在 我所需要的只是能够自动检测翻页 这本书占据了 90 的屏幕 我使用一个粗糙的网络摄像头进行运动检测 所以当我翻页时 运动方向基本上是同一个方向 我修改了一个运动跟踪脚本 但导数却无济于事 usr bin e
  • 如何在win32上安装OpenCV 2.0

    我需要在 Win32 上安装 OpenCV 我目前没有安装它 我下载了 OpenCV 2 0 0a win32 exe 并运行它 我现在到底该怎么办 没有 lib之类的东西 我找到了一些使用 cmake 构建版本的说明 http openc
  • Matlab 中 interp2 的类似 OpenCV Api

    有没有类似的功能 其工作原理与 interp2 x y frame z xd yd linear 0 在 OpenCV 中 功能cv remap 几乎可以满足您的要求 请参阅文档here http docs opencv org modul
  • 为 Visual Studio 安装 openCV 2.4 for C/C++

    我一整天都在尝试在 Windows 7 上的 C C 上安装 Visual Studio 2010 的 OpenCV 版本 2 4 1 和 2 4 2 我一直在关注这个教程 http docs opencv org trunk doc tu
  • 如何使用 OpenCV 找到红色区域? [复制]

    这个问题在这里已经有答案了 我正在尝试编写一个检测红色的程序 然而有时它比平常更暗 所以我不能只使用一个值 检测不同深浅的红色的最佳范围是多少 我目前使用的范围是 128 0 0 255 60 60 但有时它甚至检测不到我放在它前面的红色物
  • 在opencv中发现凸性缺陷? [根据给定的输入图像崩溃..]

    我有一个计算图像凸包的程序 我正在尝试使用此信息来计算fingers存在于输入图像中 从一些冲浪中我发现做到这一点的方法 数手指 是 寻找轮廓 凸包 凸性缺陷 但我在使用凸性缺陷函数时遇到了麻烦 它编译得很好 但在运行时程序会因某些输入图像
  • 屏幕截图中低分辨率文本的 OCR

    我正在编写一个 OCR 应用程序来从屏幕截图图像中读取字符 目前 我只关注数字 我的方法部分基于这篇博文 http blog damiles com 2008 11 basic ocr in opencv http blog damiles
  • 如何使用requirements.txt 在 Heroku python Web 应用程序中安装 Dlib?

    我构建了一个涉及机器学习的 Python Flask Web API 但在 Heroku 上部署它时遇到了很多挫折 问题是 我的应用程序依赖于 Dlib 一个库 我似乎找不到在我的 Heroku 服务器中安装的方法 我正在试图解决这个问题
  • 如何使图像呈现出陈旧、布满灰尘、颜色褪色的外观?

    我有旧画的图像 这些画很旧 布满灰尘 颜色褪色 如图所示here https i stack imgur com xuoEF jpg 如何赋予任何图像这种 旧 外观 我找不到任何过滤器或 openCV 函数来实现这种类型的外观 EDIT 我
  • C++ OpenCV 2.3 中缺少 MoveWindow()

    我正在使用 OpenCV 2 3 的 C 版本 并且正在努力完成一项基本任务 我想做的是创建一个窗口并将其移动到屏幕上的特定位置 例如使用 cv namedWindow My Window 1 cv MoveWindow My Window
  • bitblt 在 Windows 10 版本 1703 上失败 (15063.138)

    使用 Visual Studio 2017 vc141 以下代码应该从前游戏窗口获取屏幕截图 但现在它返回黑色和空白图像 唯一的游戏问题 尝试过 OpenGL 和 Vulkan ogl 返回黑色 vulkan 返回白色 在升级到 Windo
  • 查找彼此接近的对象边界

    我正在研究一个计算机视觉问题 其中问题的第一步是找到物体彼此靠近的位置 例如 在下图中 我感兴趣的是找到灰色标记的区域 Input Output 我目前的方法是首先反转图像 然后通过侵蚀进行形态梯度跟随 然后删除一些不感兴趣的轮廓 脚本如下
  • 计算两个描述符之间的距离

    我正在尝试计算已计算的两个描述符之间的距离 欧几里得或汉明 问题是我不想使用匹配器 我只想计算两个描述符之间的距离 我正在使用 OpenCV 2 4 9 并且我的描述符存储在 Mat 类型中 Mat descriptors1 Mat des

随机推荐

  • 集群源码安装ONOS

    集群源码安装ONOS 1 每一台待安装onos的配置 bin bash sudo mv apache karaf 3 0 3 tar gz opt sudo mv apache maven 3 3 1 bin tar gz opt cd o
  • AD使用教程 图文并茂 AD2020四层板

    文章目录 整体流程图 xff1a 资源下载 xff1a 自定义快捷键 xff1a xff08 按照个人习惯 xff09 默认快捷键 xff1a 一 软件主页面1 主界面2 Panels面板3 系统设置3 自定义快捷键4 新建工程 二 原理图
  • 【HAL库】HAL库STM32cubemx快速使用

    文章目录 整体框图一 基础工程1 新建工程2 配置RCC3 配置SYS4 工程设置5 生成代码6 keil设置下载 amp 复位 二 必备外设1 目录规范2 LED2 RTC3 USART4 KEY 三 其他外设1 OLED xff08 模
  • 【HAL库】STM32+ESP8266+Onenet+MQTT,极简工程,hal库移植。

    ESP8266 43 Onenet 43 MQTT 1 导入 c h文件 xff08 不再赘述 xff0c 详细见LED部分 xff09 2 Cubemx配置3 修改 c h 文件4 测试 ESP8266通过MQTT协议连接Onenet 从
  • 【HAL库】BMP180气压传感器+STM32,hal库移植

    BMP180气压传感器 43 STM32 1 导入 c h文件 xff08 不再赘述 xff0c 详细见LED部分 xff09 2 Cubemx配置3 修改 h 文件4 测试 将BMP180从标准库移植到HAL库 模拟IIC 极简工程代码如
  • 【硬件】嵌入式板卡硬件电路设计、焊接

    文章目录 嵌入式板卡电路 框图常用焊接工具和焊接操作 框图一 元器件 有极性 1 肖特基二极管2 钽电容3 三极管4 MOS5 LED6 SMAJ5 0CA xff08 TVS管 xff09 8 SRV05 4 xff08 ESD管 xff
  • C语言中的输入输出函数

    一 字符数据输入输出函数 1 putchar xff0c 输出一个字符 include lt stdio h gt int main char cChar1 cChar2 cChar3 cChar4 cChar1 61 39 H 39 cC
  • printf的执行顺序&++i与i++的区别

    问题的由来 xff1a 在学习C语言预处理命令时看到这样一段 https www cnblogs com clover toeic p 3851102 html span class token macro property span cl
  • Traceback (most recent call last): File “/home/myp4/.local/bin/pip“, line 5, in <module> from

    https blog csdn net weixin 41135864 article details 89817343 Traceback most recent call last File home myp4 local bin pi
  • sys.stderr.write(f“ERROR: {exc}”)

    https www cjavapy com article 1701
  • 为什么PBFT需要三阶段

    首先 xff0c 第一阶段是预提议 xff08 pre prepare xff09 xff0c 这一阶段的主要原因是使用领导可以降低通信复杂度 xff0c 但是我对其没了解 xff0c 就不瞎说了 接着是提议 xff08 prepare x
  • 文件的自定义包发送接收

    需求 对一个特定的文件进行分片发送 xff0c 构造数据包 xff0c 发送数据包 xff0c 接收数据包并提取有效数据 xff0c 对数据组合还原为原文件 设计 当前 xff0c 基于socket的网络编程已成为当今不可替代的编程方法 x
  • 阿里云服务器图形化界面

    https blog csdn net qq 43264202 article details 119578968
  • 安卓开放端口

    https blog csdn net weixin 39737831 article details 109965587
  • Ubuntu14.04 支持ESM

    https discourse ubuntu com t ubuntu advantage client 21788
  • 开启关闭ICMP

    echo request http www xoxxoo com index index article id 780 html redirect https blog csdn net weixin 39684454 article de
  • AD使用技巧

    AD快捷键 快捷键要处在英文模式的情况下才可以使用 xff1a AD测量快捷键 xff1a R AD对齐快捷键 xff1a A AD切换单位快捷键 xff1a Q AD改变栅格快捷键 xff1a G AD视图配置快捷键 xff1a L AD
  • 多传感器融合框架搭建

    架构 src include apps xff1a 节点文件 front end node cpp 前端节点data pretreat node cpp 数据预处理节点back end node cpp 后端节点loop closing n
  • 多传感器融合框架-ESKF

    架构 基本同图优化框架差不多 内容简述 数据预处理节点 订阅imu原始数据 xff0c gnss原始数据 xff0c 完成数据时间戳同步 点云畸变补偿发布如下消息 畸变补偿后的点云 synced cloudgnss里程计 synced gn
  • OpenCV笔记4.3

    C 43 43 读取目录下所有文件名称 1 包含头文件 96 span class token macro property span class token directive hash span span class token dir