OPENCV 训练分类器一

第一步,安装OPENCV    见最新openCV-Python安装教程(opencv-python版本4.4.0, Python版本: 3.9)_python安装opencv_这个人不是画家的博客-CSDN博客

第二步,下面是修正过后的Python 将文件夹下面所有的图片转换成灰色小图像,用于存正片用的。

import os
from skimage.color import rgb2gray
import numpy as np
import skimage.io as io
import matplotlib.pyplot as plt
import cv2def convert_gray(f, **args):  # 图片处理与格式化的函数rgb = io.imread(f)  # 读取图片gray = rgb2gray(rgb)  # 将彩色图片转换为灰度图片Image = cv2.resize(gray, (50, 50))  # 调整大小,图像分辨率为40*40# cv2.imshow("img-org", Image)   # 显示该图像return Imageif __name__ == '__main__':'''批量转灰度图'''datapath = r'D:\WORK\QT\OPENCV3.41\opencv_bin\samples\Tube'  # 图片所在的路径str = datapath +'\pos\\'+ '/*.jpg'  # 识别.jpg的图像coll = io.ImageCollection(str, load_func=convert_gray)  # 批处理print("===>",coll[0].shape)# img_data = np.random.random((1000, 1000))# plt.imshow(img_data)# plt.show()# plt.imsave('D:\WORK\QT\OPENCV3.41\opencv_bin\samples\Tube\pos-1\\'+np.str_(5)+'-runoob-test.png', img_data)length = len(coll)print("===>",length)for i in range(length):img_float = coll[i].astype(np.float32) * 255.0#cv2.imshow("img-org", img_float)    #io.show()io.imsave(datapath+'\pos-1\\' + np.str_(i+1) + '.jpg', img_float.astype(np.uint8))  # 保存图片  coll[i]#cv2.imwrite(datapath+'\pos-1\\' + np.str_(i+1) + '.jpg',img_float)

第三步   生成文件信息

 

import os
def create_pos_n_neg():for file_type in ['pos-1']: #此处修改neg或pos即可for img in os.listdir(file_type):if (file_type == 'neg-1'):line = file_type + '/' + img + '\n'with open('bg.txt', 'a') as f:f.write(line)elif (file_type == 'pos-1'):line = file_type + '/' + img + ' 1 0 0 50 50\n'with open('info.txt', 'a') as f:f.write(line)if __name__ == '__main__':create_pos_n_neg()print('描述文件已生成!')

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1349.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NXP i.MX 8M Plus工业开发板硬件说明书--下册( 四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)

前 言 本文档主要介绍创龙科技TLIMX8MP-EVM评估板硬件接口资源以及设计注意事项等内容。 创龙科技TLIMX8MP-EVM是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 单核ARM Cortex-M7异构多核处理器设计的高性能工业评估板,由核心板和评估底板组成。ARM Cortex-A5…

如何录音转文字?这份录音转文字教程你必须知道

在现代快节奏的工作环境中,电脑会议录音转文字成为了一项非常重要的任务。但是很多人不知道电脑会议录音转文字怎么转?如果你也正有这样的疑问,那么你就来对地方了!在本篇文章中,我们将为你介绍几款备受推崇的录音转文…

撸一遍STM32最小系统板

采样的MCU型号为STM32F405RGT6,目前这款芯片价格便宜性能好。 1 电机控制会用到单片机的哪些功能? GPIO(通用输入/输出):单片机的GPIO引脚可以用于控制电机的开关、使能以及接收传感器的反馈信号。通过设置GPIO引脚的…

【网页复习】4道大题

🎊专栏【 前端易错合集】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 文章目录 🍔实现如图的导航栏⭐代码🎄注…

Java安全——安全管理器

Java安全 安全管理器 Java安全管理器是一个Java安全模型中的一个组件,主要的作用是提高Java应用程序的安全性。Java应用程序中的每个线程都会对安全管理器进行检查,在执行代码之前,会先经过安全管理器的核验,安全管理器根据代码来…

445端口是啥?445端口怎么关闭?

445端口是Windows系统中的SMB协议,用于文件共享和网络打印功能。然而,这个端口也是黑客攻击的重要入口之一。那么,如何关闭445端口,保护自己的计算机安全呢? 关闭445端口的方法 1.在“控制面板”中打开“管理员工具”…

Unity 中的旋转、targetFrameRate、 vSyncCount、Time

1. 旋转: Unity 中的旋转用eulerAngle 表示,但在内部是以quaternion存储。欧拉角旋转围绕三个轴进行三次独立旋转,依次是z、x、y。To convert from Euler angles to quaternions, you can use the Quaternion.Euler function.To convert a q…

android 如何分析应用的内存(九)——libc回调

android 如何分析应用的内存(九) 接上文,在前面文章中,介绍了bionic库提供的各种功能,其中包括: 自定义的mallocmalloc hookmalloc debug 接下来,介绍的是bionic库提供的libc回调功能&#x…

Docker学习笔记7

启动一个运行httpd服务的容器: docker run -it --namec3 centos:latest /bin/bash 在容器中安装apache服务: yum install -y httpd 在这个过程中遇到一个问题: Error: Failed to download metadata for repo appstream: Cannot prepare …

【Vue】axios发请求下载excel--20230630

1.关键点: blob乱码传参 2.参考资料:处理blob文件流和乱码问题 https://blog.csdn.net/qq_41512902/article/details/125680531 https://blog.csdn.net/qq_38804584/article/details/109238794 3.我的代码:axios发请求下载excel js代…

python 深度学习 解决遇到的报错问题

目录 一、解决报错ModuleNotFoundError: No module named ‘tensorflow.examples 二、解决报错ModuleNotFoundError: No module named ‘tensorflow.contrib‘ 三、安装onnx报错assert CMAKE, ‘Could not find “cmake“ executable!‘ 四、ImportError: cannot import na…

ARM-SWI 和未定义指令异常中断处理程序的返回(七)

文章目录 处理流程示例代码实现SWI未定义指令 附录源码 处理流程 SWI 和未定义指令异常中断是由当前执行的指令自身产生的,当 SWI 和未定义指令异常中断产生时,程序计数器的 PC 的值还未更新,它指向当前指令后面第 2 条指令(对于…