Linux系统上常用软件集锦
[TOC]
概述文章参考:https://tensorflow.google.cn/api_docs/python/tf/keras/utils/image_dataset_from_directory
Tensorflow版本号:2.9.1
函数原型123456789101112131415tf.keras.preprocessing.image_dataset_from_directory( directory, # directory: 数据所在目录。 labels="inferred", # 标签为推断 label_mode="int", class_names=None, color_mode="rgb", batch_size=32, image_size=(256, 256), shuffle=True, seed=None, validation_split=None, subset=None, interpola ...
基于Tensorflow2.0之卷积神经网络(CNN)天气识别
[TOC]
概述本文将采用CNN实现多云、下雨、晴、日出四种天气状态的识别。较上篇文章,本文为了增加模型的泛化能力,新增了Dropout层并且将最大池化层调整成了平均池化层。
我的环境:
语言环境:Python3.6.5
编译器:jupyter notebook
深度学习环境:TensorFlow2
代码实例1. 设置GPU如果使用的是CPU可以忽略这步
12345678import tensorflow as tfgpus = tf.config.list_physical_devices("GPU")if gpus: gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量按需使用 tf.config.set_visible_devices([gpu0],"GPU")
基于Tensorflow2.0之卷积神经网络(CNN)识别神奇宝贝小智
[TOC]
概述文章参考:https://zhuanlan.zhihu.com/p/518597574
前期工作本文将实现海贼王中人物角色的识别。
我的环境:
语言环境:Python3.6.5
编译器:jupyter notebook
深度学习环境:TensorFlow2.9.1
来自专栏:
《深度学习100例》www.zhihu.com/column/c_1386338634837196800
如果你是一名深度学习小白可以先看看我这个专门为你写的专栏:
《新手入门深度学习》_K同学啊的博客-CSDN博客blog.csdn.net/qq_38251616/category_11188161.html
1. 设置GPU如果使用的是CPU可以忽略这步
1234567import tensorflow as tfgpus = tf.config.list_physical_devices("GPU")if gpus: tf.config.experimental.set_memory_growth(gpus[0], True) #设置GPU ...
Linux系统上常用软件集锦
[TOC]
概述
Linux系统上常用软件集锦
[TOC]
概述Opencv大津二值化算法Opencv大津二值化算法,也被称作最大类间方差法,是一种可以自动确定二值化中阈值的算法,从类内方差和类间方差的比值计算得来:
也就是说:
Linux系统上常用软件集锦
[TOC]
概述Opencv二值化是将图像使用黑和白两种值表示的方法(灰度值为0或255),也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于在对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阈值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阈值 ...
OpenCV之Resize函数学习
[TOC]
文章参考:https://blog.csdn.net/weixin_41466575/article/details/113058802
文章参考:https://blog.csdn.net/JNingWei/article/details/78218837
概述函数说明OpenCV提供了resize函数来改变图像的大小,函数原型如下:
1void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR );
参数说明:
src:输入,原图像,即待改变大小的图像;
dst:输出,改变大小之后的图像,这个图像和原图像具有相同的内容,只是大小和原图像不一样而已;
dsize:输出图像的大小。如果这个参数不为0,那么就代表将原图像缩放到这个Size(width,height)指定的大小;如果这个参数为0,那么原图像缩放之后的大小就要通过下面的公式来计算:
1dsize = Size(round(fx*src.co ...
OpenCV的resize中的插值方法
[TOC]
概述文章参考:https://blog.csdn.net/guyuealian/article/details/85097633
Linux系统上常用软件集锦
[TOC]
概述文章参考:https://blog.csdn.net/guduruyu/article/details/69231259
概述模板匹配通常被用于目标检测、相似度分析中,opencv2和opencv3中提供了一个专门用于模板匹配的函数——cv::matchTemplate(),下面就对该函数进行详细的介绍。
先从一个实际的例子入手,如下分别是一幅测试图片和一个右眼的模板图片(这里为了方便,是直接从原图上切下来的),通过模板匹配的方法找到测试图片眼睛的位置。
测试代码如下:
1234567891011121314151617181920212223242526272829303132333435#include <opencv2/opencv.hpp> int main(){ //加载源图像和模板图像 cv::Mat image_source = cv::imread("lena.jpg", cv::IMREAD_GRAYSCALE); cv::Mat image_template = cv::imread(&qu ...
C++数据结构之vector学习
文章参考:https://blog.csdn.net/xi_niuniu/article/details/47060043
文章参考:http://c.biancheng.net/view/6749.html
概述vector 容器是STL中最常用的容器之一,它和 array 容器非常类似,都可以看做是对 C++普通数组的“升级版”。不同之处在于,array 实现的是静态数组(容量固定的数组),而 vector 实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动态调整所占用的内存空间,整个过程无需人工干预。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
Vector特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。
2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。
3.能够感知内存分配器的(Allocator-aware)容器使用一个内存分配器对象来动态地处理 ...