Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何处理sobel核卷积后的输出值

如何处理sobel核卷积后的输出值
EN

Stack Overflow用户
提问于 2019-05-01 14:22:59
回答 1查看 167关注 0票数 0

我正在尝试写一个程序(练习C++),它可以检测图像的边缘。我正在使用SFML来加载图像。

我尝试了Sobel操作,但与输出值混淆了。我从当前像素周围的像素中获得强度值,然后将这些值与Sobel-kernel的相应值相乘。这些值相加在一起。

我的问题是,输入强度值的范围从0到255,但我的输出值可以从某个负值(可以小于-255)到某个正值(可以大于255)。

我找不到任何关于如何将它们转换为灰度值的提示;我的InputImage是灰度,这意味着r,g,b是相似的。作为Sobel矩阵/内核,我使用了一个定制的Matrix类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// The Sobel-kernel-x looks like that
int kernel_x[] = { 1, 0, -1,
                  2, 0, -2,
                  1, 0, -1 }



for (int y = 1; y < height - 1; y++)
{
    for (int x = 1; x < width - 1; x++)
    {
        int sum = 0;
        for (int i = -1; i <= 1; i++)
        {
            for (int j = -1; j <= 1; j++)
            {
                sum += img.getPixel(x + j, y + i).r * sobelkernel_x.at(j + 1, i + 1);
            }
        }
        //std::cout << sum << std::endl;
        cur_img->setPixel(x, y, sf::Color(sum, sum, sum));
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 15:09:29

尝试如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int MIN_SOBEL_VAL = minValue(sobelMatrix[][]);
int MAX_SOBEL_VAL = maxValue(sobelMatrix[][]);

int outputMatrix[][];

void normalizer(sobelMatrix, MIN_SOBEL_VAL, MAX_SOBEL_VAL, outputMatrix, 0, 255) {
    for(i = 0 -> N)
        for(j = 0 -> M)
            outputMatrix[i][j] = g(sobelMatrix[i][j],MIN_SOBEL_VAL, MAX_SOBEL_VAL, 0, 255);
}

其中g(n,a,b,x,y)是线性映射区间a,b => x,y的函数。

对于你的情况;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
g(...) = (n - MIN_SOBEL_VAL)/(MAX_SOBEL_VAL - MIN_SOBEL_VAL) * (255 - 0)

这将使用255-0之间的值将您的sobelMatrix映射到和outputMatrix。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55937780

复制
相关文章
tensorflow版本的tansformer训练IWSLT数据集
代码来源:https://github.com/Kyubyong/transformer
西西嘛呦
2020/08/26
1.9K0
教程 | 如何在TensorFlow中高效使用数据集
选自TowardsDataScience 作者:Francesco Zuppichini 机器之心编译 处理并使用数据集是深度学习任务非常重要的组成部分。在本文中,作者 Francesco Zuppichini 将教你使用 TensorFlow 的内建管道向模型传递数据的方法,从此远离「feed-dict」。本文内容已更新至最新的 TensorFlow 1.5 版本。 相关代码地址:https://github.com/FrancescoSaverioZuppichini/Tensorflow-Datase
机器之心
2018/05/10
1.5K0
在自己的数据集上训练TensorFlow更快的R-CNN对象检测模型
计算机视觉正在彻底改变医学成像。算法正在帮助医生识别可能错过的十分之一的癌症患者。甚至有早期迹象表明胸部扫描可有助于COVID-19的识别,这可能有助于确定哪些患者需要进行实验室检查。
代码医生工作室
2020/03/18
3.6K0
在自己的数据集上训练TensorFlow更快的R-CNN对象检测模型
如何在CDSW上运行TensorFlow
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 前面Fayson也介绍了CDSW的安装及CDSW使用的一些知识,本篇文章主要介绍如何在CDSW平台上运行一个TensorFlow的示例,在学习本章知识前,你需要知道以下知识: 《如何在Windows Server2008搭建DNS服务并配置泛域名解析》 《如何利用Dnsmasq构建小型集群的
企鹅号小编
2018/02/02
1.5K0
如何在CDSW上运行TensorFlow
如何在CDSW上运行TensorFlow
前面Fayson也介绍了CDSW的安装及CDSW使用的一些知识,本篇文章主要介绍如何在CDSW平台上运行一个TensorFlow的示例,在学习本章知识前,你需要知道以下知识:
Fayson
2018/03/29
1.4K0
TensorFlow数据集(二)——数据
参考书 《TensorFlow:实战Google深度学习框架》(第2版) 一个使用数据集进行训练和测试的完整例子。 #!/usr/bin/env python # -*- coding: UTF-8 -*- # coding=utf-8 """ @author: Li Tian @contact: 694317828@qq.com @software: pycharm @file: dataset_test5.py @time: 2019/2/12 13:45 @desc: 使用数据集实现数据输入
py3study
2020/01/17
6090
TensorFlow数据集(一)——数据
参考书 《TensorFlow:实战Google深度学习框架》(第2版) 例子:从一个张量创建一个数据集,遍历这个数据集,并对每个输入输出y = x^2 的值。 #!/usr/bin/env python # -*- coding: UTF-8 -*- # coding=utf-8 """ @author: Li Tian @contact: 694317828@qq.com @software: pycharm @file: dataset_test1.py @time: 2019/2/10 1
py3study
2020/01/17
7640
大型数据集的MySQL优化
诸多知名大公司都在使用MySQL,其中包括Google、Yahoo、NASA和Walmart。此外,其中部分公司的表囊括数十亿行,却又性能极佳。虽然很难保持MySQL数据库高速运行,但面对数据堆积,可以通过一些性能调整,来使其继续工作。本文则将围绕这一问题展开讨论。 导论 设计数据库之前,有必要先了解一下表的使用方法。例如,对于需要频繁更新的数据,最好将其存入一个独立表中,而通过这样的分表,更新操作将更加快捷。同时,表的连接操作也会消耗时间,所以若要深入分析复杂数据,则最好选用大表。惯有认知下,归一化可通过
CSDN技术头条
2018/02/12
1.2K0
如何在 CentOS 8 上安装 TensorFlow
TensorFlow是一个由Google 开发的,关于机器学习的开源平台。它可以在不同设备的 CPU 或者 GPU 上运行,并且它被很多组织所使用,其中包括Twitter, PayPal, Intel, Lenovo, 和 Airbus.
雪梦科技
2020/05/09
1.3K0
如何在 CentOS 8 上安装  TensorFlow
YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它
丰色 发自 凹非寺 量子位 | 公众号 QbitAI 很快啊—— 目标检测经典模型YOLO的第八个版本就已经发布了。 这次升级不少,包括命令行界面、Python API、backbone结构等,精度相比YOLOv5高了一大截(速度官方还没公布)。 下面是网友实测,几个不同规模的变体在目标检测、实例分割和图像分类三项任务上的涨点最高达到了33.21%。 不知道YOLOv8这一出,v5版本还会“苟”多久? oh我们还发现已经有人用它在自定义数据集上完成了一波训练,效果是这样滴: 这精准度和稳定性,让网友狠
量子位
2023/02/28
4K0
YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它
如何在 CentOS 7 上安装 Tensorflow
TensorFlow是一个用于构建机器学习的免费并且开源的平台,它由 Google 开发。它被一系列组织包括 Twitter,PayPal, Intel, Lenovo, 和 Airbus 使用。
雪梦科技
2020/05/11
4K0
如何在 CentOS 7 上安装 Tensorflow
tensorflow object detection API训练公开数据集Oxford-IIIT Pets Dataset
object detection API 安装参见官方的github: https://github.com/tensorflow/models/tree/master/research/object_detection
OpenCV学堂
2018/09/29
1.5K0
tensorflow object detection API训练公开数据集Oxford-IIIT Pets Dataset
TensorFlow 组合训练数据(batching)
摘要总结:本文主要介绍了使用TensorFlow从TFRecord文件中读取数据,并将其组合成batch进行训练的过程。首先介绍了TensorFlow和TFRecord的基本概念,然后详细讲解了从TFRecord文件中读取数据的过程,包括使用TensorFlow的队列和线程进行数据读取和组合成batch的过程。最后通过一个例子演示了如何使用TensorFlow读取和组合成batch进行训练的过程。
chaibubble
2018/01/02
2K0
TensorFlow 组合训练数据(batching)
mask rcnn训练自己的数据集_fasterrcnn训练自己的数据集
这篇博客是 基于 Google Colab 的 mask rcnn 训练自己的数据集(以实例分割为例)文章中 数据集的制作 这部分的一些补充
全栈程序员站长
2022/09/23
8280
mask rcnn训练自己的数据集_fasterrcnn训练自己的数据集
在C#下使用TensorFlow.NET训练自己的数据集
今天,我结合代码来详细介绍如何使用 SciSharp STACK 的 TensorFlow.NET 来训练CNN模型,该模型主要实现 图像的分类 ,可以直接移植该代码在 CPU 或 GPU 下使用,并针对你们自己本地的图像数据集进行训练和推理。TensorFlow.NET是基于 .NET Standard 框架的完整实现的TensorFlow,可以支持 .NET Framework 或 .NET CORE , TensorFlow.NET 为广大.NET开发者提供了完美的机器学习框架选择。
Enjoy233
2021/12/23
1.6K0
在C#下使用TensorFlow.NET训练自己的数据集
教程 | 使用MNIST数据集,在TensorFlow上实现基础LSTM网络
选自GitHub 机器之心编译 参与:刘晓坤、路雪 本文介绍了如何在 TensorFlow 上实现基础 LSTM 网络的详细过程。作者选用了 MNIST 数据集,本文详细介绍了实现过程。 长短期记忆(LSTM)是目前循环神经网络最普遍使用的类型,在处理时间序列数据时使用最为频繁。关于 LSTM 的更加深刻的洞察可以看看这篇优秀的博客:http://colah.github.io/posts/2015-08-Understanding-LSTMs/。 我们的目的 这篇博客的主要目的就是使读者熟悉在 Tenso
机器之心
2018/05/08
1.5K0
教程 | 使用MNIST数据集,在TensorFlow上实现基础LSTM网络
【综述专栏】如何在标注存在错标的数据上训练模型
在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。
马上科普尚尚
2021/04/28
1.3K0
【综述专栏】如何在标注存在错标的数据上训练模型
tensorflow对象检测框架训练VOC数据集常见的两个问题
Tensorflow自从发布了object detection API这套对象检测框架以来,成为很多做图像检测与对象识别开发者手中的神兵利器,因为他不需要写一行代码,就可以帮助开发者训练出一个很好的自定义对象检测器(前提是有很多标注数据)。我之前曾经写过几篇文章详细介绍了tensorflow对象检测框架的安装与使用,感兴趣可以看如下几篇文章!
OpenCV学堂
2019/04/29
2.1K2
tensorflow对象检测框架训练VOC数据集常见的两个问题
数据集的划分--训练集、验证集和测试集
        在机器学习中,经常提到训练集和测试集,验证集似有似无。感觉挺好奇的,就仔细查找了文献。以下谈谈训练集、验证集和测试集。
Flaneur
2020/03/25
5.3K0
点击加载更多

相似问题

不能在简单的数据集上训练Tensorflow

12

内存错误:训练大型数据集

23

使用tensorflow逐步训练数据集

111

如何在Colab中免费训练大型数据集

115

使用大型tensorflow数据集onTPU

122
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文