| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> OpenCV DNN blogFromImage()详解 -> 正文阅读 |
|
[人工智能]OpenCV DNN blogFromImage()详解 |
OpenCV3.x版本,增加了DNN模块,支持直接载入深度学习框架训练好的模型。如何往模型中传入数据,这就要查看blogFromImage()函数。 ? 1. 背景知识: 为了从深度神经网络获取正确的预测,首先需要预处理数据。把图像数据处理为模型所需要的数据格式。这些预处理通常包括: A. 均值减法(Mean Subtraction)。即整体像素减去平均值。 B. 缩放(Scaling)。通过缩放系数(scalefactor)对图像像素值进行缩放。 C. 把数据shape调整为模型需要的格式。 均值减法: 均值减法用来适应光照的变换(combat illumination changes)。因此,我们可以将均值减法视为一种协助卷积神经网络的技术。在开始训练我们自己的深度神经网络之前,需要计算我们要训练的图片中RGB三个通道的平均像素(average pixel) 2.具体使用: Python: cv.dnn.blobFromImage(image[, scalefactor[, size[, mean[, swapRB[, crop[, ddepth]]]]]]) ->retval C++:
参数:
输出: Returns 4-dimensional?Mat?with NCHW dimensions order. 例子: import cv2 import numpy as np import sys #Sam add it. load mobilenet model. image = cv2.imread("E:\\current\\svn_Python_home\\OpenCV_Study\\Example\\DNN_Sample\\Images\\voc_boat_pi.jpg") if(image is None): sys.exit(0) net =cv2.dnn.readNetFromTensorflow("E:\current\svn_Python_home\OpenCV_Study\Example\DNN_Sample\models\mobilenet_v1_1.0_224_frozen.pb") image = cv2.resize(image, (300,300)) blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300), (104.0, 177.0, 123.0)) print("blob shape:", blob.shape) print("Success") blob shape: (1, 3, 300, 300) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:55:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |